-- --------------------------------------------------------
-- Server OS:                    Linux
-- HeidiSQL Version:             11.0.0.5919
-- --------------------------------------------------------


USE `cssd`;

-- Dumping structure for procedure cssd.cetakPengembalianSterilisasi
DELIMITER //
CREATE PROCEDURE `cetakPengembalianSterilisasi`(
	IN `PNOMOR` CHAR(21)
)
BEGIN

	SET @nourut=0;
	SET @grup='';

	SELECT IF(@grup<>GRUP, @nourut:=@nourut+1, '') NOURUT
			, IF(@grup<>GRUP, NAMA_SET, '') NAMA_SET
			, ISI_SET
			, @grup:=GRUP GRUP
			, JUMLAH_MAPPING, TOTAL
			, RETAK, KOROSIF, AUS
	FROM (
		SELECT pa.NOMOR, DATE(pa.TANGGAL) TANGGAL, TIME(pa.TANGGAL) JAM
			  , CONCAT(sab.NAMA,'-',pad.GROUP)NAMA_SET
			  , sab.ID
			  , ib.NAMA ISI_SET
			  , pad.GROUP GRUP
			  , ib.ID IDBARANG
			  , msab.JUMLAH JUMLAH_MAPPING
		     , pakd.JUMLAH_MAPPING TOTAL
			  #, (msab.JUMLAH - pakd.JUMLAH_MAPPING) TOTAL
			  , pad.RETAK, pad.KOROSIF, pad.AUS
			FROM cssd.pengembalian_alat pa
			   , cssd.pengembalian_alat_detil pad
			     LEFT JOIN cssd.penerimaan_alat_kotor_detil pakd ON pakd.ID=pad.PENERIMAAN_ALAT_KOTOR_DETIL
			   , cssd.set_alat_baru sab
			   , cssd.mapping_set_alat_baru msab
			   , inventory.barang ib
		   WHERE pa.NOMOR=pad.PENGEMBALIAN_ALAT AND pa.`STATUS`=2
		     AND pad.SET_ALAT_BARU=sab.ID AND pakd.MAPPING_SET_ALAT_BARU=msab.ID
		     AND msab.BARANG=ib.ID AND pa.PENERIMAAN_ALAT_KOTOR=PNOMOR
		   ORDER BY GRUP
	   ) ab;

END//
DELIMITER ;

-- Dumping structure for procedure cssd.cetakPengembalianSterilisasiBarangRuangan
DELIMITER //
CREATE PROCEDURE `cetakPengembalianSterilisasiBarangRuangan`(
	IN `PNOMOR` CHAR(21)
)
BEGIN
	SELECT pa.NOMOR NOMOR_PENGEMBALIAN, br.NAMA NAMA_BARANG, pakdbr.TOTAL
		, pa.TOTAL_BERAT TOTAL_BERAT_PENGEMBALIAN
		, pnld.RETAK, pnld.KOROSIF, pnld.AUS
	FROM cssd.pengembalian_alat pa
		, cssd.pengembalian_alat_detil_barangruangan pnld
		, cssd.penerimaan_alat_kotor_detil_barangruangan pakdbr
		  LEFT JOIN inventory.barang_ruangan brg ON pakdbr.BARANG_RUANGAN=brg.ID
		  LEFT JOIN inventory.barang br ON brg.BARANG=br.ID
	WHERE pa.`STATUS`=2
	AND pa.NOMOR = pnld.PENGEMBALIAN_ALAT
	AND pnld.PENERIMAAN_ALAT_KOTOR_DETIL_BARANGRUANGAN = pakdbr.ID
	AND pa.PENERIMAAN_ALAT_KOTOR=PNOMOR;
END//
DELIMITER ;

-- Dumping structure for procedure cssd.cetakPengembalianSterilisasiHeader
DELIMITER //
CREATE PROCEDURE `cetakPengembalianSterilisasiHeader`(
	IN `PNOMOR` CHAR(21)
)
BEGIN

	SELECT pa.NOMOR, DATE(pa.TANGGAL) TANGGAL, TIME(pa.TANGGAL) JAM, pa.TOTAL_BERAT, pa.CATATAN
	       , pa.ASAL,  ras.DESKRIPSI RUANG_ASAL, pa.PENERIMA, rpn.DESKRIPSI RUANG_PENERIMA
	        , pak.PENGANTAR, pa.OLEH, master.getNamaLengkapPegawai(pg.NIP) PETUGAS_PENERIMA
			#, master.getNamaLengkapPegawai(pn.NIP) PETUGAS_PENGANTAR
			  , pk.SHINVA_I, pk.SHINVA_II, pk.BELIMED_I, pk.BELIMED_II, pk.ETHYLEN_OXYDE, pk.PLASMA, pk.DTT_YA, pk.DTT_TIDAK, pk.KEMASAN, pk.KELENGKAPAN_ALAT, pk.PERUBAHAN_INDIKATOR, pk.LABEL_PRODUKSI 
			  , pk.PETUGAS_PACKING, pk.OPERATOR_AUTOCLAVE, pk.PETUGAS_PENYIMPANAN, pk.PETUGAS_MENERIMA, pk.PETUGAS_MENYERAHKAN
			  , master.getNamaLengkapPegawai(ps.NIP) NAMA_PETUGAS_PENGANTAR
			  , master.getNamaLengkapPegawai(pp.NIP) NAMA_PETUGAS_PACKING
			  , master.getNamaLengkapPegawai(op.NIP) NAMA_OPERATOR_AUTOCLAVE
			  , master.getNamaLengkapPegawai(py.NIP) NAMA_PETUGAS_PENYIMPANAN
			  , master.getNamaLengkapPegawai(pm.NIP) NAMA_PETUGAS_MENERIMA
			  , master.getNamaLengkapPegawai(pmy.NIP) NAMA_PETUGAS_MENYERAHKAN
			FROM cssd.pengembalian_alat pa
				 LEFT JOIN penerimaan_alat_kotor pak ON pak.NOMOR = pa.PENERIMAAN_ALAT_KOTOR
			     LEFT JOIN master.ruangan rpn ON pa.PENERIMA=rpn.ID
			     LEFT JOIN master.ruangan ras ON pa.ASAL=ras.ID
			     LEFT JOIN aplikasi.pengguna pg ON pa.OLEH=pg.ID
			     #LEFT JOIN master.pegawai pn ON pak.PENGANTAR=pn.ID
			     LEFT JOIN cssd.petugas_kegiatan pk ON pak.NOMOR=pk.PENERIMAAN_ALAT_KOTOR AND pk.`STATUS`!=0
				 
				 LEFT JOIN master.staff_ruangan sr0 ON pak.PENGANTAR=sr0.ID
			     LEFT JOIN master.staff s0 ON sr0.STAFF=s0.ID
				 LEFT JOIN master.pegawai ps ON s0.NIP=ps.NIP
			     
			     LEFT JOIN master.staff_ruangan sr1 ON pk.PETUGAS_PACKING=sr1.ID
			     LEFT JOIN master.staff s1 ON sr1.STAFF=s1.ID
			     LEFT JOIN master.pegawai pp ON s1.NIP=pp.NIP
			     
			     LEFT JOIN master.staff_ruangan sr2 ON pk.OPERATOR_AUTOCLAVE=sr2.ID
			     LEFT JOIN master.staff s2 ON sr2.STAFF=s2.ID
			     LEFT JOIN master.pegawai op ON s2.NIP=op.NIP
			     
			     LEFT JOIN master.staff_ruangan sr3 ON pk.PETUGAS_PENYIMPANAN=sr3.ID
			     LEFT JOIN master.staff s3 ON sr3.STAFF=s3.ID
			     LEFT JOIN master.pegawai py ON s3.NIP=py.NIP
			     
			     LEFT JOIN master.staff_ruangan sr4 ON pk.PETUGAS_MENERIMA=sr4.ID
			     LEFT JOIN master.staff s4 ON sr4.STAFF=s4.ID
			     LEFT JOIN master.pegawai pm ON s4.NIP=pm.NIP
			     
			     LEFT JOIN master.staff_ruangan sr5 ON pk.PETUGAS_MENYERAHKAN=sr5.ID
			     LEFT JOIN master.staff s5 ON sr5.STAFF=s5.ID
			     LEFT JOIN master.pegawai pmy ON s5.NIP=pmy.NIP
			  
		   WHERE pa.`STATUS`=2 AND pa.PENERIMAAN_ALAT_KOTOR=PNOMOR;


END//
DELIMITER ;

-- Dumping structure for procedure cssd.cetakPermintaanSterilisasi
DELIMITER //
CREATE PROCEDURE `cetakPermintaanSterilisasi`(
	IN `PNOMOR` CHAR(21)
)
BEGIN

	SET @nourut=0;
	SET @grup='';

	SELECT IF(@grup<>GRUP, @nourut:=@nourut+1, '') NOURUT
			, IF(@grup<>GRUP, NAMA_SET, '') NAMA_SET
			, ISI_SET
			, @grup:=GRUP GRUP
			, JUMLAH_MAPPING, TOTAL
	FROM (
		SELECT pak.NOMOR, DATE(pak.TANGGAL) TANGGAL, TIME(pak.TANGGAL) JAM
			  , CONCAT(sab.NAMA,'-',pakd.GROUP)NAMA_SET
			  , sab.ID
			  , ib.NAMA ISI_SET
			  , pakd.GROUP GRUP
			  , ib.ID IDBARANG
			  , msab.JUMLAH JUMLAH_MAPPING
		     , pakd.JUMLAH_MAPPING TOTAL
			  #, (msab.JUMLAH - pakd.JUMLAH_MAPPING) TOTAL
			FROM cssd.penerimaan_alat_kotor pak
			   , cssd.penerimaan_alat_kotor_detil pakd
			   , cssd.set_alat_baru sab
			   , cssd.mapping_set_alat_baru msab
			   , inventory.barang ib
		   WHERE pak.NOMOR=pakd.PENERIMAAN_ALAT_KOTOR AND pak.`STATUS`=2
		     AND pakd.SET_ALAT_BARU=sab.ID AND pakd.MAPPING_SET_ALAT_BARU=msab.ID
		     AND msab.BARANG=ib.ID AND pak.NOMOR=PNOMOR
		   ORDER BY GRUP
	   ) ab;

END//
DELIMITER ;

-- Dumping structure for procedure cssd.cetakPermintaanSterilisasiBarangRuangan
DELIMITER //
CREATE PROCEDURE `cetakPermintaanSterilisasiBarangRuangan`(
	IN `PNOMOR` CHAR(21)
)
BEGIN
	SELECT pak.NOMOR NOMOR_PENERIMAAN, br.NAMA NAMA_BARANG, pnld.TOTAL
		, pak.TOTAL_BERAT TOTAL_BERAT_PENERIMAAN
	FROM cssd.penerimaan_alat_kotor pak
		, cssd.penerimaan_alat_kotor_detil_barangruangan pnld
		  LEFT JOIN inventory.barang_ruangan brg ON pnld.BARANG_RUANGAN=brg.ID
		  LEFT JOIN inventory.barang br ON brg.BARANG=br.ID
	WHERE pak.`STATUS`=2
	AND pak.NOMOR = pnld.PENERIMAAN_ALAT_KOTOR
	AND pak.NOMOR=PNOMOR;
END//
DELIMITER ;

-- Dumping structure for procedure cssd.cetakPermintaanSterilisasiHeader
DELIMITER //
CREATE PROCEDURE `cetakPermintaanSterilisasiHeader`(
	IN `PNOMOR` CHAR(21)
)
BEGIN

	SELECT pak.NOMOR, DATE(pak.TANGGAL) TANGGAL, TIME(pak.TANGGAL) JAM, pak.TOTAL_BERAT, pak.CATATAN
	       , pak.ASAL,  ras.DESKRIPSI RUANG_ASAL, pak.PENERIMA, rpn.DESKRIPSI RUANG_PENERIMA
	        , pak.PENGANTAR, pak.OLEH, master.getNamaLengkapPegawai(pg.NIP) PETUGAS_PENERIMA
			#, master.getNamaLengkapPegawai(pn.NIP) PETUGAS_PENGANTAR
			  #, pk.SHINVA_I, pk.SHINVA_II, pk.BELIMED_I, pk.BELIMED_II, pk.ETHYLEN_OXYDE, pk.PLASMA, pk.DTT_YA, pk.DTT_TIDAK, pk.KEMASAN, pk.KELENGKAPAN_ALAT, pk.PERUBAHAN_INDIKATOR, pk.LABEL_PRODUKSI 
			  #, pk.PETUGAS_PACKING, pk.OPERATOR_AUTOCLAVE, pk.PETUGAS_PENYIMPANAN, pk.PETUGAS_MENERIMA, pk.PETUGAS_MENYERAHKAN
			  , master.getNamaLengkapPegawai(ps.NIP) NAMA_PETUGAS_PENGANTAR
			  #, master.getNamaLengkapPegawai(pp.NIP) NAMA_PETUGAS_PACKING
			  #, master.getNamaLengkapPegawai(op.NIP) NAMA_OPERATOR_AUTOCLAVE
			  #, master.getNamaLengkapPegawai(py.NIP) NAMA_PETUGAS_PENYIMPANAN
			  #, master.getNamaLengkapPegawai(pm.NIP) NAMA_PETUGAS_MENERIMA
			  #, master.getNamaLengkapPegawai(pmy.NIP) NAMA_PETUGAS_MENYERAHKAN
			FROM cssd.penerimaan_alat_kotor pak
			     LEFT JOIN master.ruangan rpn ON pak.PENERIMA=rpn.ID
			     LEFT JOIN master.ruangan ras ON pak.ASAL=ras.ID
			     LEFT JOIN aplikasi.pengguna pg ON pak.OLEH=pg.ID
			     #LEFT JOIN master.pegawai pn ON pak.PENGANTAR=pn.ID
			     LEFT JOIN cssd.petugas_kegiatan pk ON pak.NOMOR=pk.PENERIMAAN_ALAT_KOTOR AND pk.`STATUS`!=0
				 
				 LEFT JOIN master.staff_ruangan sr0 ON pak.PENGANTAR=sr0.ID
			     LEFT JOIN master.staff s0 ON sr0.STAFF=s0.ID
				 LEFT JOIN master.pegawai ps ON s0.NIP=ps.NIP
			     
			     LEFT JOIN master.staff_ruangan sr1 ON pk.PETUGAS_PACKING=sr1.ID
			     LEFT JOIN master.staff s1 ON sr1.STAFF=s1.ID
			     LEFT JOIN master.pegawai pp ON s1.NIP=pp.NIP
			     
			     LEFT JOIN master.staff_ruangan sr2 ON pk.OPERATOR_AUTOCLAVE=sr2.ID
			     LEFT JOIN master.staff s2 ON sr2.STAFF=s2.ID
			     LEFT JOIN master.pegawai op ON s2.NIP=op.NIP
			     
			     LEFT JOIN master.staff_ruangan sr3 ON pk.PETUGAS_PENYIMPANAN=sr3.ID
			     LEFT JOIN master.staff s3 ON sr3.STAFF=s3.ID
			     LEFT JOIN master.pegawai py ON s3.NIP=py.NIP
			     
			     LEFT JOIN master.staff_ruangan sr4 ON pk.PETUGAS_MENERIMA=sr4.ID
			     LEFT JOIN master.staff s4 ON sr4.STAFF=s4.ID
			     LEFT JOIN master.pegawai pm ON s4.NIP=pm.NIP
			     
			     LEFT JOIN master.staff_ruangan sr5 ON pk.PETUGAS_MENYERAHKAN=sr5.ID
			     LEFT JOIN master.staff s5 ON sr5.STAFF=s5.ID
			     LEFT JOIN master.pegawai pmy ON s5.NIP=pmy.NIP
			  
		   WHERE pak.`STATUS`=2 AND pak.NOMOR=PNOMOR;


END//
DELIMITER ;

