Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff76f0557f | ||
|
|
8c0e5481fe | ||
|
|
a8014deaa5 | ||
|
|
c32b6c7ab9 | ||
|
|
4f71db4fa0 | ||
|
|
051c6df2a4 | ||
|
|
8b652dceef | ||
|
|
32c8042b75 |
@@ -3,9 +3,6 @@ import java.text.DateFormat;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
|
||||||
|
|
||||||
|
|
||||||
public class Util {
|
public class Util {
|
||||||
public static String getCurrentDate(){
|
public static String getCurrentDate(){
|
||||||
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
|
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
|
||||||
|
|||||||
@@ -60,20 +60,23 @@ public class ArticleController {
|
|||||||
* L<>scht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle.
|
* L<>scht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle.
|
||||||
*
|
*
|
||||||
* @param pRow Row des Artikels, der gel<65>scht werden soll.
|
* @param pRow Row des Artikels, der gel<65>scht werden soll.
|
||||||
* @return true, wenn der Artikel erfolgreich gel<65>scht wurde. false, wenn ein Fehler aufgetreten ist.
|
* @return 0: Artikel konnte erfolgreich gel<65>scht werden
|
||||||
|
* 1: Artikel konnte nicht gel<65>scht werden, unbekannter Fehler (SQL-Fehler)
|
||||||
|
* 2: Artikel konnte nicht gel<65>scht werden, weil er im Moment verliehen ist.
|
||||||
*/
|
*/
|
||||||
public boolean deleteArticle(int pRow) {
|
public int deleteArticle(int pRow) {
|
||||||
|
|
||||||
|
if(!articleTableModel.getArticleByRow(pRow).getIsFree()) return 2;
|
||||||
|
|
||||||
int id = articleTableModel.getArticleByRow(pRow).getId();
|
int id = articleTableModel.getArticleByRow(pRow).getId();
|
||||||
|
int returnCode = dbCon.deleteArticle(id);
|
||||||
|
|
||||||
if(this.dbCon.deleteArticle(id)){
|
if(returnCode == 0){
|
||||||
articleTableModel.updateModel();
|
articleTableModel.updateModel();
|
||||||
freeArticleTableModel.updateModel();
|
freeArticleTableModel.updateModel();
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return returnCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.util.HashMap;
|
|||||||
import de.katho.kBorrow.Util;
|
import de.katho.kBorrow.Util;
|
||||||
import de.katho.kBorrow.data.KLending;
|
import de.katho.kBorrow.data.KLending;
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
import de.katho.kBorrow.models.ArticleTableModel;
|
||||||
import de.katho.kBorrow.models.FreeArticleTableModel;
|
import de.katho.kBorrow.models.FreeArticleTableModel;
|
||||||
import de.katho.kBorrow.models.LendingTableModel;
|
import de.katho.kBorrow.models.LendingTableModel;
|
||||||
|
|
||||||
@@ -12,12 +13,14 @@ public class ManageLendingsController {
|
|||||||
|
|
||||||
private DbConnector dbCon;
|
private DbConnector dbCon;
|
||||||
private FreeArticleTableModel freeArticleTableModel;
|
private FreeArticleTableModel freeArticleTableModel;
|
||||||
|
private ArticleTableModel articleTableModel;
|
||||||
private LendingTableModel lendingTableModel;
|
private LendingTableModel lendingTableModel;
|
||||||
|
|
||||||
public ManageLendingsController(DbConnector pDbCon, HashMap<String, Object> pModels){
|
public ManageLendingsController(DbConnector pDbCon, HashMap<String, Object> pModels){
|
||||||
dbCon = pDbCon;
|
dbCon = pDbCon;
|
||||||
|
|
||||||
freeArticleTableModel = (FreeArticleTableModel)pModels.get("freearticletablemodel");
|
freeArticleTableModel = (FreeArticleTableModel)pModels.get("freearticletablemodel");
|
||||||
|
articleTableModel = (ArticleTableModel)pModels.get("articletablemodel");
|
||||||
lendingTableModel = (LendingTableModel)pModels.get("lendingtablemodel");
|
lendingTableModel = (LendingTableModel)pModels.get("lendingtablemodel");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,6 +33,7 @@ public class ManageLendingsController {
|
|||||||
dbCon.returnLending(lendingId, artId, Util.getCurrentDate());
|
dbCon.returnLending(lendingId, artId, Util.getCurrentDate());
|
||||||
|
|
||||||
freeArticleTableModel.updateModel();
|
freeArticleTableModel.updateModel();
|
||||||
|
articleTableModel.updateModel();
|
||||||
lendingTableModel.updateModel();
|
lendingTableModel.updateModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
import de.katho.kBorrow.data.KLender;
|
import de.katho.kBorrow.data.KLender;
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
import de.katho.kBorrow.models.ArticleTableModel;
|
||||||
import de.katho.kBorrow.models.FreeArticleTableModel;
|
import de.katho.kBorrow.models.FreeArticleTableModel;
|
||||||
import de.katho.kBorrow.models.LenderModel;
|
import de.katho.kBorrow.models.LenderModel;
|
||||||
import de.katho.kBorrow.models.LendingTableModel;
|
import de.katho.kBorrow.models.LendingTableModel;
|
||||||
@@ -19,12 +20,14 @@ public class NewLendingController {
|
|||||||
private LenderModel lenderModel;
|
private LenderModel lenderModel;
|
||||||
private FreeArticleTableModel freeArticleModel;
|
private FreeArticleTableModel freeArticleModel;
|
||||||
private LendingTableModel lendingTableModel;
|
private LendingTableModel lendingTableModel;
|
||||||
|
private ArticleTableModel articleTableModel;
|
||||||
|
|
||||||
public NewLendingController(DbConnector pDbCon, HashMap<String, Object> pModels){
|
public NewLendingController(DbConnector pDbCon, HashMap<String, Object> pModels){
|
||||||
dbCon = pDbCon;
|
dbCon = pDbCon;
|
||||||
userListModel = (UserListModel)pModels.get("userlistmodel");
|
userListModel = (UserListModel)pModels.get("userlistmodel");
|
||||||
lenderModel = (LenderModel)pModels.get("lendermodel");
|
lenderModel = (LenderModel)pModels.get("lendermodel");
|
||||||
freeArticleModel = (FreeArticleTableModel)pModels.get("freearticletablemodel");
|
freeArticleModel = (FreeArticleTableModel)pModels.get("freearticletablemodel");
|
||||||
|
articleTableModel = (ArticleTableModel)pModels.get("articletablemodel");
|
||||||
lendingTableModel = (LendingTableModel)pModels.get("lendingtablemodel");
|
lendingTableModel = (LendingTableModel)pModels.get("lendingtablemodel");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,6 +66,7 @@ public class NewLendingController {
|
|||||||
|
|
||||||
if(result == 0){
|
if(result == 0){
|
||||||
freeArticleModel.updateModel();
|
freeArticleModel.updateModel();
|
||||||
|
articleTableModel.updateModel();
|
||||||
lendingTableModel.updateModel();
|
lendingTableModel.updateModel();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ public class KArticle {
|
|||||||
private int id;
|
private int id;
|
||||||
private String name;
|
private String name;
|
||||||
private String description;
|
private String description;
|
||||||
|
private boolean isFree;
|
||||||
|
|
||||||
public KArticle(int pId, String pName, String pDesc) {
|
public KArticle(int pId, String pName, boolean pFree, String pDesc) {
|
||||||
this.id = pId;
|
this.id = pId;
|
||||||
this.name = pName;
|
this.name = pName;
|
||||||
this.description = pDesc;
|
this.description = pDesc;
|
||||||
|
isFree = pFree;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
@@ -23,6 +25,10 @@ public class KArticle {
|
|||||||
return this.description;
|
return this.description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getIsFree(){
|
||||||
|
return isFree;
|
||||||
|
}
|
||||||
|
|
||||||
public void setName(String pName){
|
public void setName(String pName){
|
||||||
this.name = pName;
|
this.name = pName;
|
||||||
}
|
}
|
||||||
@@ -31,4 +37,8 @@ public class KArticle {
|
|||||||
this.description = pDesc;
|
this.description = pDesc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setIsFree(boolean pFree){
|
||||||
|
isFree = pFree;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public interface DbConnector {
|
|||||||
public int editUser(int pId, String pName, String pSurname);
|
public int editUser(int pId, String pName, String pSurname);
|
||||||
public ArrayList<KArticle> getArticleList();
|
public ArrayList<KArticle> getArticleList();
|
||||||
public int createArticle(String pName, String pDesc);
|
public int createArticle(String pName, String pDesc);
|
||||||
public boolean deleteArticle(int id);
|
public int deleteArticle(int id);
|
||||||
public int editArticle(int pId, String pName, String pDesc);
|
public int editArticle(int pId, String pName, String pDesc);
|
||||||
public ArrayList<KArticle> getFreeArticleList();
|
public ArrayList<KArticle> getFreeArticleList();
|
||||||
public ArrayList<KLender> getLenderList();
|
public ArrayList<KLender> getLenderList();
|
||||||
@@ -23,4 +23,5 @@ public interface DbConnector {
|
|||||||
public int createNewLender(String pLName, String pLSurname, String pLSN);
|
public int createNewLender(String pLName, String pLSurname, String pLSN);
|
||||||
public ArrayList<KLending> getActiveLendingList();
|
public ArrayList<KLending> getActiveLendingList();
|
||||||
public int returnLending(int lendingId, int artId, String string);
|
public int returnLending(int lendingId, int artId, String string);
|
||||||
|
public ArrayList<KLending> getLendingListForArticle(int pArtId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,9 +51,9 @@ public class SqlConnector implements DbConnector{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean deleteArticle(int id) {
|
public int deleteArticle(int id) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return false;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -99,4 +99,10 @@ public class SqlConnector implements DbConnector{
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ArrayList<KLending> getLendingListForArticle(int pArtId) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -211,11 +211,11 @@ public class SqliteConnector implements DbConnector {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Statement st = this.connection.createStatement();
|
Statement st = this.connection.createStatement();
|
||||||
String query = "SELECT id, name, description FROM article";
|
String query = "SELECT id, name, is_free, description FROM article";
|
||||||
ResultSet rs = st.executeQuery(query);
|
ResultSet rs = st.executeQuery(query);
|
||||||
|
|
||||||
while (rs.next()){
|
while (rs.next()){
|
||||||
artArr.add(new KArticle(rs.getInt("id"), rs.getString("name"), rs.getString("description")));
|
artArr.add(new KArticle(rs.getInt("id"), rs.getString("name"), rs.getBoolean("is_free"), rs.getString("description")));
|
||||||
}
|
}
|
||||||
|
|
||||||
return artArr;
|
return artArr;
|
||||||
@@ -231,11 +231,11 @@ public class SqliteConnector implements DbConnector {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Statement st = this.connection.createStatement();
|
Statement st = this.connection.createStatement();
|
||||||
String query = "SELECT id, name, description FROM article WHERE is_free = 1;";
|
String query = "SELECT id, name, is_free, description FROM article WHERE is_free = 1;";
|
||||||
ResultSet rs = st.executeQuery(query);
|
ResultSet rs = st.executeQuery(query);
|
||||||
|
|
||||||
while (rs.next()){
|
while (rs.next()){
|
||||||
artArr.add(new KArticle(rs.getInt("id"), rs.getString("name"), rs.getString("description")));
|
artArr.add(new KArticle(rs.getInt("id"), rs.getString("name"), rs.getBoolean("is_free"), rs.getString("description")));
|
||||||
}
|
}
|
||||||
|
|
||||||
return artArr;
|
return artArr;
|
||||||
@@ -287,6 +287,27 @@ public class SqliteConnector implements DbConnector {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<KLending> getLendingListForArticle(int pArtId){
|
||||||
|
ArrayList<KLending> lendingArr = new ArrayList<KLending>();
|
||||||
|
|
||||||
|
try{
|
||||||
|
Statement st = connection.createStatement();
|
||||||
|
String query = "SELECT id, user_id, lender_id, start_date, expected_end_date, end_date FROM lending WHERE article_id = '"+pArtId+"' ORDER BY id DESC";
|
||||||
|
|
||||||
|
ResultSet rs = st.executeQuery(query);
|
||||||
|
|
||||||
|
while(rs.next()){
|
||||||
|
lendingArr.add(new KLending(rs.getInt("id"), rs.getInt("user_id"), rs.getInt("lender_id"), pArtId, rs.getString("start_date"), rs.getString("expected_end_date"), rs.getString("end_date")));
|
||||||
|
}
|
||||||
|
|
||||||
|
return lendingArr;
|
||||||
|
}
|
||||||
|
catch(SQLException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return lendingArr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return 0: Benutzer erfolgreich erzeugt
|
* @return 0: Benutzer erfolgreich erzeugt
|
||||||
@@ -357,18 +378,18 @@ public class SqliteConnector implements DbConnector {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean deleteArticle(int id) {
|
public int deleteArticle(int id) {
|
||||||
try {
|
try {
|
||||||
Statement st = this.connection.createStatement();
|
Statement st = connection.createStatement();
|
||||||
String query = "DELETE FROM article WHERE id = '"+id+"'";
|
String query = "DELETE FROM article WHERE id = '"+id+"'";
|
||||||
|
|
||||||
st.executeUpdate(query);
|
st.executeUpdate(query);
|
||||||
|
|
||||||
return true;
|
return 0;
|
||||||
}
|
}
|
||||||
catch (SQLException e){
|
catch (SQLException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return false;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
93
src/de/katho/kBorrow/gui/ArticleInspectFrame.java
Normal file
93
src/de/katho/kBorrow/gui/ArticleInspectFrame.java
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
package de.katho.kBorrow.gui;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.JTextArea;
|
||||||
|
|
||||||
|
import de.katho.kBorrow.data.KArticle;
|
||||||
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
import de.katho.kBorrow.models.ArticleInspectTableModel;
|
||||||
|
import de.katho.kBorrow.models.ArticleTableModel;
|
||||||
|
|
||||||
|
public class ArticleInspectFrame extends JFrame {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -8993341404926674307L;
|
||||||
|
private JPanel contentPane;
|
||||||
|
private JTable table;
|
||||||
|
private ArticleInspectTableModel artInsModel;
|
||||||
|
private ArticleTableModel articleModel;
|
||||||
|
private KArticle article;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create the frame.
|
||||||
|
*/
|
||||||
|
public ArticleInspectFrame(int pRow, final DbConnector dbCon, HashMap<String, Object> pModels) {
|
||||||
|
articleModel = (ArticleTableModel)pModels.get("articletablemodel");
|
||||||
|
article = articleModel.getArticleByRow(pRow);
|
||||||
|
|
||||||
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
setBounds(150, 150, 660, 541);
|
||||||
|
setTitle("Details: "+article.getName());
|
||||||
|
|
||||||
|
// ContentPane
|
||||||
|
contentPane = new JPanel();
|
||||||
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
setContentPane(contentPane);
|
||||||
|
contentPane.setLayout(null);
|
||||||
|
|
||||||
|
// Panel Info
|
||||||
|
JPanel panelInfo = new JPanel();
|
||||||
|
panelInfo.setBounds(0, 0, 644, 134);
|
||||||
|
panelInfo.setBorder(BorderFactory.createTitledBorder("Artikeldetails"));
|
||||||
|
|
||||||
|
panelInfo.setLayout(null);
|
||||||
|
|
||||||
|
JLabel lblNewLabel_1 = new JLabel("Artikelname:");
|
||||||
|
JLabel lblArticleName = new JLabel(article.getName());
|
||||||
|
JLabel lblNewLabel_2 = new JLabel ("Artikelbeschreibung:");
|
||||||
|
JTextArea taArticleDesc = new JTextArea(article.getDescription());
|
||||||
|
taArticleDesc.setRows(5);
|
||||||
|
taArticleDesc.setBorder(BorderFactory.createEtchedBorder());
|
||||||
|
|
||||||
|
lblNewLabel_1.setBounds(10, 21, 100, 20);
|
||||||
|
lblNewLabel_2.setBounds(10, 47, 100, 20);
|
||||||
|
lblArticleName.setBounds(120, 21, 100, 20);
|
||||||
|
taArticleDesc.setBounds(120, 45, 250, 78);
|
||||||
|
taArticleDesc.setEditable(false);
|
||||||
|
|
||||||
|
panelInfo.add(lblNewLabel_1);
|
||||||
|
panelInfo.add(lblNewLabel_2);
|
||||||
|
panelInfo.add(lblArticleName);
|
||||||
|
panelInfo.add(taArticleDesc);
|
||||||
|
|
||||||
|
// Table
|
||||||
|
artInsModel = new ArticleInspectTableModel(pRow, dbCon, pModels);
|
||||||
|
table = new JTable(artInsModel);
|
||||||
|
table.setFillsViewportHeight(true);
|
||||||
|
table.setRowHeight(30);
|
||||||
|
table.getColumnModel().getColumn(0).setMinWidth(30);
|
||||||
|
table.getColumnModel().getColumn(0).setMaxWidth(30);
|
||||||
|
table.getColumnModel().getColumn(0).setPreferredWidth(30);
|
||||||
|
|
||||||
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
|
scrollPane.setBounds(0, 131, 644, 371);
|
||||||
|
scrollPane.setBorder(BorderFactory.createTitledBorder("Alle Ausleihen des Artikels \""+article.getName()+"\""));
|
||||||
|
|
||||||
|
// Add components to ContentPane
|
||||||
|
contentPane.add(panelInfo);
|
||||||
|
contentPane.add(scrollPane);
|
||||||
|
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -28,6 +28,7 @@ import de.katho.kBorrow.data.KArticle;
|
|||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
import de.katho.kBorrow.listener.ArticleDeleteTableButton;
|
import de.katho.kBorrow.listener.ArticleDeleteTableButton;
|
||||||
import de.katho.kBorrow.listener.ArticleEditTableButton;
|
import de.katho.kBorrow.listener.ArticleEditTableButton;
|
||||||
|
import de.katho.kBorrow.listener.ArticleInspectTableButton;
|
||||||
import de.katho.kBorrow.models.ArticleTableModel;
|
import de.katho.kBorrow.models.ArticleTableModel;
|
||||||
|
|
||||||
public class ArticlePanel extends JPanel implements ActionListener, KeyListener {
|
public class ArticlePanel extends JPanel implements ActionListener, KeyListener {
|
||||||
@@ -61,10 +62,11 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener
|
|||||||
articleTable.setRowHeight(30);
|
articleTable.setRowHeight(30);
|
||||||
ArticleDeleteTableButton articleDeleteTableButton = new ArticleDeleteTableButton("L<EFBFBD>schen", articleTable, this, articleController);
|
ArticleDeleteTableButton articleDeleteTableButton = new ArticleDeleteTableButton("L<EFBFBD>schen", articleTable, this, articleController);
|
||||||
ArticleEditTableButton articleEditTableButton = new ArticleEditTableButton("Bearbeiten", articleTable, this);
|
ArticleEditTableButton articleEditTableButton = new ArticleEditTableButton("Bearbeiten", articleTable, this);
|
||||||
|
ArticleInspectTableButton articleInspectTableButton = new ArticleInspectTableButton("Details", articleTable, dbCon, pModels);
|
||||||
|
|
||||||
for (int i = 3; i <= 4; i++){
|
for (int i = 3; i <= 5; i++){
|
||||||
articleTable.getColumnModel().getColumn(i).setCellEditor(i == 3 ? articleEditTableButton : articleDeleteTableButton);
|
articleTable.getColumnModel().getColumn(i).setCellEditor(i == 3 ? articleInspectTableButton : i == 4 ? articleEditTableButton : articleDeleteTableButton);
|
||||||
articleTable.getColumnModel().getColumn(i).setCellRenderer(i == 3 ? articleEditTableButton : articleDeleteTableButton);
|
articleTable.getColumnModel().getColumn(i).setCellRenderer(i == 3 ? articleInspectTableButton : i == 4 ? articleEditTableButton : articleDeleteTableButton);
|
||||||
|
|
||||||
articleTable.getColumnModel().getColumn(i).setMinWidth(30);
|
articleTable.getColumnModel().getColumn(i).setMinWidth(30);
|
||||||
articleTable.getColumnModel().getColumn(i).setMaxWidth(30);
|
articleTable.getColumnModel().getColumn(i).setMaxWidth(30);
|
||||||
@@ -94,7 +96,7 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener
|
|||||||
this.lblArticleStatus = new JLabel("");
|
this.lblArticleStatus = new JLabel("");
|
||||||
lblName.setBounds(10, 30, 70, 20);
|
lblName.setBounds(10, 30, 70, 20);
|
||||||
lblDescription.setBounds(10, 61, 70, 20);
|
lblDescription.setBounds(10, 61, 70, 20);
|
||||||
this.lblArticleStatus.setBounds(90, 145, 250, 14);
|
this.lblArticleStatus.setBounds(90, 145, 390, 14);
|
||||||
|
|
||||||
// Edit: Name-Textfield
|
// Edit: Name-Textfield
|
||||||
this.textFieldArticleName = new JTextField();
|
this.textFieldArticleName = new JTextField();
|
||||||
@@ -230,7 +232,6 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
if(e.getKeyCode() == KeyEvent.VK_ENTER) saveButtonPressed();
|
if(e.getKeyCode() == KeyEvent.VK_ENTER) saveButtonPressed();
|
||||||
|
|
||||||
@@ -246,4 +247,18 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDeleteStatusLabel(int pCode){
|
||||||
|
switch(pCode){
|
||||||
|
case 0:
|
||||||
|
lblArticleStatus.setText("Artikel erfolgreich gel<65>scht.");
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
lblArticleStatus.setText("Artikel kann nicht gel<65>scht werden.");
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
lblArticleStatus.setText("Artikel kann nicht gel<65>scht werden, w<>hrend er verliehen ist.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class ArticleDeleteTableButton extends TableButton {
|
|||||||
|
|
||||||
int row = pTable.getSelectedRow();
|
int row = pTable.getSelectedRow();
|
||||||
|
|
||||||
pController.deleteArticle(row);
|
pPanel.setDeleteStatusLabel(pController.deleteArticle(row));
|
||||||
pPanel.resetModeEditArticle();
|
pPanel.resetModeEditArticle();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
42
src/de/katho/kBorrow/listener/ArticleInspectTableButton.java
Normal file
42
src/de/katho/kBorrow/listener/ArticleInspectTableButton.java
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
package de.katho.kBorrow.listener;
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
|
||||||
|
import sun.tools.jar.Main;
|
||||||
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
import de.katho.kBorrow.gui.ArticleInspectFrame;
|
||||||
|
|
||||||
|
public class ArticleInspectTableButton extends TableButton {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -2591133864537097893L;
|
||||||
|
|
||||||
|
public ArticleInspectTableButton(String pLabel, final JTable pTable, final DbConnector dbCon, final HashMap<String, Object> pModels) throws IOException {
|
||||||
|
super(pLabel);
|
||||||
|
URL url = Main.class.getResource("/icons/system-search.png");
|
||||||
|
ImageIcon icon = new ImageIcon(url);
|
||||||
|
|
||||||
|
buttonE.setIcon(icon);
|
||||||
|
buttonR.setIcon(icon);
|
||||||
|
|
||||||
|
buttonE.addActionListener(new ActionListener(){
|
||||||
|
public void actionPerformed(ActionEvent e){
|
||||||
|
fireEditingStopped();
|
||||||
|
|
||||||
|
int row = pTable.getSelectedRow();
|
||||||
|
|
||||||
|
new ArticleInspectFrame(row, dbCon, pModels);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
93
src/de/katho/kBorrow/models/ArticleInspectTableModel.java
Normal file
93
src/de/katho/kBorrow/models/ArticleInspectTableModel.java
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
package de.katho.kBorrow.models;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import javax.swing.table.AbstractTableModel;
|
||||||
|
|
||||||
|
import de.katho.kBorrow.data.KArticle;
|
||||||
|
import de.katho.kBorrow.data.KLender;
|
||||||
|
import de.katho.kBorrow.data.KLending;
|
||||||
|
import de.katho.kBorrow.data.KUser;
|
||||||
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
|
||||||
|
public class ArticleInspectTableModel extends AbstractTableModel {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 2293157709447086998L;
|
||||||
|
private String[] header;
|
||||||
|
private ArrayList<KLending> data;
|
||||||
|
private DbConnector dbCon;
|
||||||
|
private KArticle article;
|
||||||
|
private ArticleTableModel articleModel;
|
||||||
|
private UserTableModel userModel;
|
||||||
|
private LenderModel lenderModel;
|
||||||
|
|
||||||
|
|
||||||
|
public ArticleInspectTableModel(int pRow, DbConnector pDbCon, HashMap<String, Object> pModels){
|
||||||
|
header = new String[] {"ID", "Verliehen von:", "Ausgeliehen an:", "Ausleihdatum", "Vor. R<>ckgabe", "R<EFBFBD>ckgabe"};
|
||||||
|
dbCon = pDbCon;
|
||||||
|
articleModel = (ArticleTableModel)pModels.get("articletablemodel");
|
||||||
|
userModel = (UserTableModel)pModels.get("usertablemodel");
|
||||||
|
lenderModel = (LenderModel)pModels.get("lendermodel");
|
||||||
|
|
||||||
|
article = articleModel.getArticleByRow(pRow);
|
||||||
|
|
||||||
|
updateModel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateModel() {
|
||||||
|
data = dbCon.getLendingListForArticle(article.getId());
|
||||||
|
fireTableDataChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getColumnCount() {
|
||||||
|
return header.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColumnName(int col){
|
||||||
|
return header[col];
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getRowCount() {
|
||||||
|
return data.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCellEditable(int pRow, int pCol){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getValueAt(int row, int col) {
|
||||||
|
switch(col){
|
||||||
|
case 0:
|
||||||
|
return data.get(row).getId();
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
int uid = data.get(row).getUserId();
|
||||||
|
KUser user = userModel.getUserById(uid);
|
||||||
|
|
||||||
|
return user.getName()+" "+user.getSurname();
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
int lid = data.get(row).getLenderId();
|
||||||
|
KLender lender = lenderModel.getLenderById(lid);
|
||||||
|
|
||||||
|
return lender.getName()+" "+lender.getSurname()+" ("+lender.getStudentnumber()+")";
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
return data.get(row).getStartDate();
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
return data.get(row).getExpectedEndDate();
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
return data.get(row).getEndDate();
|
||||||
|
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -18,7 +18,7 @@ public class ArticleTableModel extends AbstractTableModel {
|
|||||||
protected ArrayList<KArticle> data = new ArrayList<KArticle>();
|
protected ArrayList<KArticle> data = new ArrayList<KArticle>();
|
||||||
|
|
||||||
public ArticleTableModel(DbConnector pDbCon){
|
public ArticleTableModel(DbConnector pDbCon){
|
||||||
header = new String [] {"ID", "Artikelname", "Artikelbeschreibung", "", ""};
|
header = new String [] {"ID", "Artikelname", "Artikelbeschreibung", "", "", ""};
|
||||||
this.dbCon = pDbCon;
|
this.dbCon = pDbCon;
|
||||||
this.updateModel();
|
this.updateModel();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user