TransaksiPinjam.java
[sourcecode language="java"]
package com.ipi.myweb.pages.transaksi;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRMapCollectionDataSource;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.annotations.Component;
import org.apache.tapestry5.annotations.InjectPage;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Form;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ApplicationGlobals;
import org.slf4j.Logger;
import com.ipi.myweb.annotation.ProtectedPage;
import com.ipi.myweb.base.BasePage;
import com.ipi.myweb.beans.Anggota;
import com.ipi.myweb.beans.Buku;
import com.ipi.myweb.beans.Konfigurasi;
import com.ipi.myweb.beans.Pinjam;
import com.ipi.myweb.config.ConfigUtil;
import com.ipi.myweb.pages.master.MasterAnggota;
import com.ipi.myweb.pages.master.MasterBuku;
import com.ipi.myweb.util.Generate;
@ProtectedPage
public class TransaksiPinjam extends BasePage {
@Inject
private ApplicationGlobals globals;
@Inject
private Logger logger;
@SuppressWarnings("unused")
@Persist
@Property
private boolean ada;
@Persist
private boolean nis_list;
@Persist
@Property
private String nis;
@Persist
@Property
private String kodebuku;
@Persist
private Anggota anggota;
@Persist
private Buku buku;
@Persist
private Date currentDate;
private Pinjam pinjam;
@Component
private Form form;
@SuppressWarnings("unused")
@Inject
private ComponentResources _resource;
@SuppressWarnings("unused")
private List listPinjam;
@InjectPage
private MasterAnggota masterAnggota;
@InjectPage
private MasterBuku masterBuku;
void pageReset(){
onSelectedFromReset();
}
void onSelectedFromCariNis(){
Konfigurasi konf = getMasterFacade().getKonfigurasiDao().getKonfigurasiByKode(ConfigUtil.MAXPINJAM);
if (konf == null){
form.recordError("Konfigurasi maxpinjam pada tabel konfigurasi belum disetting");
return;
}
Anggota a = getMasterFacade().getAnggotaDao().getAnggotaByNis(nis);
if (a == null){
form.recordError("Anggota tidak ditemukan");
return;
}
this.anggota = a;
int jmlPinjam = getMasterFacade().getPinjamDao().getJumlahTerpinjamByNim(a.getId_anggota());
if(jmlPinjam >= getMaxPinjam()){
form.recordError("Nis ini sudah meminjam jumlah maksimal peminjaman");
return;
}
}
void onSelectedFromCariBuku(){
int jmlPinjam = getMasterFacade().getPinjamDao().getJumlahTerpinjamByNim(getAnggota().getId_anggota());
Konfigurasi konf = getMasterFacade().getKonfigurasiDao().getKonfigurasiByKode(ConfigUtil.MAXPINJAM);
if (konf == null){
form.recordError("Konfigurasi maxpinjam pada tabel konfigurasi belum disetting");
return;
}
if(jmlPinjam >= getMaxPinjam()){
form.recordError("Nis ini sudah meminjam jumlah maksimal peminjaman");
return;
}
Buku b = getMasterFacade().getBukuDao().getBukuByKode(kodebuku);
if (b == null){
form.recordError("Buku tidak ditemukan");
return;
}
int ready = getMasterFacade().getPinjamDao().getReadyStok(b.getId_buku());
if (ready = getMaxPinjam()){
form.recordError("Nis ini sudah meminjam jumlah maksimal peminjaman");
return;
}
if (getAnggota().getId_anggota() == null){
form.recordError("Anggota masih kosong");
return;
}
if (getBuku().getId_buku() == null){
form.recordError("Buku masih kosong");
return;
}
logger.info("| Start save pinjam buku");
getPinjam().setId_pinjam(Generate.getId());
getPinjam().setId_user(getVisit().getMyUserId());
getPinjam().setId_anggota(getAnggota().getId_anggota());
getPinjam().setId_buku(getBuku().getId_buku());
getPinjam().setTgl_pinjam(getCurrentDate());
Calendar cal = Calendar.getInstance();
cal.setTime(getCurrentDate());
cal.set(Calendar.DATE, cal.get(Calendar.DATE) + 7);
getPinjam().setTgl_kembali(cal.getTime());
getPinjam().setStatus(ConfigUtil.OUT_STATUS);
getMasterFacade().getPinjamDao().insert(getPinjam());
logger.info("| End save n sukses insert ke tbl pinjam");
clear();
}
void onSelectedFromReset(){
nis = null;
buku = new Buku();
anggota = new Anggota();
kodebuku = null;
ada = false;
nis_list = false;
setCurrentDate(new Date());
}
void onSelectedFromNota(){
ada = true;
makeReport();
}
void clear(){
buku = new Buku();
anggota = getMasterFacade().getAnggotaDao().getAnggotaByNis(nis);
kodebuku = new String();
}
@SuppressWarnings("unchecked")
public List getListPinjam() {
return getMasterFacade().getPinjamDao().getPinjamByNis(nis);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
void makeReport(){
String outputFile = "tempnota.pdf";
String uploadDir = globals.getServletContext().getRealPath("/WEB-INF/Report/");
String fileLap = uploadDir + "notapinjam.jasper";
List list = getMasterFacade().getPinjamDao().getNotaPinjamByNis(nis);
if (list.size()< 1){
form.recordError("List kosong");
return;
}
JasperPrint jasperPrint = null;
JRMapCollectionDataSource ds = new JRMapCollectionDataSource(list);
String petugas = (getVisit().get_firstName()+" "+getVisit().get_lastName()).toUpperCase();
Map map = new HashMap();
map.put("petugas", petugas );
try {
jasperPrint = JasperFillManager.fillReport(fileLap, map , ds);
} catch (JRException e) {
e.printStackTrace();
}
try {
JasperExportManager.exportReportToPdfFile(jasperPrint, setExportLocation(outputFile));
} catch (JRException e) {
e.printStackTrace();
}
}
public String setExportLocation(String file){
String uploadDir = globals.getServletContext().getRealPath("/Images/");
String fileLap = uploadDir + file;
return fileLap;
}
public void setListPinjam(List listPinjam) {
this.listPinjam = listPinjam;
}
public Date getCurrentDate() {
if (currentDate == null)
currentDate = new Date();
return currentDate;
}
public void setCurrentDate(Date currentDate) {
this.currentDate = currentDate;
}
public Anggota getAnggota() {
if (anggota == null)
anggota = new Anggota();
return anggota;
}
public void setAnggota(Anggota anggota) {
this.anggota = anggota;
}
public Buku getBuku() {
if (buku == null)
buku = new Buku();
return buku;
}
public void setBuku(Buku buku) {
this.buku = buku;
}
public Pinjam getPinjam() {
if (pinjam == null)
pinjam = new Pinjam();
return pinjam;
}
public void setPinjam(Pinjam pinjam) {
this.pinjam = pinjam;
}
Object onActionFromGotoAnggota(String id_anggota){
Anggota angg = getMasterFacade().getAnggotaDao().findByPrimaryKey(id_anggota);
masterAnggota.setAngg(angg);
return masterAnggota;
}
Object onActionFromGotoBuku(String id_buku){
Buku book = getMasterFacade().getBukuDao().findByPrimaryKey(id_buku);
masterBuku.setBook(book);
return masterBuku;
}
private int i = 0;
public String getEvenOdd(){
i++;
return i % 2 == 0 ? "odd" : "even";
}
public boolean isNis_list() {
nis_list = false;
if (nis != null && getListPinjam().size() > 0 ){
nis_list = true;
}
return nis_list;
}
public void setNis_list(boolean nis_list) {
this.nis_list = nis_list;
}
public int getMaxPinjam(){
Konfigurasi k = getMasterFacade().getKonfigurasiDao().getKonfigurasiByKode(ConfigUtil.MAXPINJAM);
int max = Integer.parseInt(k.getValue());
return max;
}
}
[/sourcecode]
saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux
No comments:
Post a Comment