Nuevamente te mando una enorme felicitación que bueno que tengas tu puesto que bien merecido lo tienes. Te mando un fuerte abrazo y que sigas creciendo así como todos los que pertenecemos al foro.

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
package com.integritas.tracargo.view;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import com.integritas.tracargo.constanst.Label;
import com.integritas.tracargo.controller.DemurrageController;
import com.integritas.tracargo.controller.ShipLineController;
import com.integritas.tracargo.util.DateUtil;
import com.integritas.tracargo.vo.DemurrageVO;
import com.integritas.tracargo.vo.ShipLineVO;
public class DemurragePanel extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private JFrame demurragePanel;
private DemurrageController demurrageController;
private ShipLineController shipLineController;
private List<ShipLineVO> shipLineList = null;
private String[] columNames = null;
private JTable demurrageTable;
private JComboBox shippingLinecombBox;
private JTextField jTextAdd;
private JTextField jTextAddCostPerDay;
private DateUtil dateUtil;
public DemurragePanel() {
demurrageController = new DemurrageController();
shipLineController = new ShipLineController();
columNames = new String[] { "SHIP_LINE_ID", Label.SHIP_LINE, Label.DEMURRAGE_DAYS, Label.DEMURRAGE_COST_PER_DAY } ;
dateUtil = new DateUtil();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void inicialize() {
demurragePanel = new JFrame();
demurragePanel.setIconImage(new ImageIcon("resources/TracargoF1.png").getImage());
demurragePanel.setTitle(Label.DEMURRAGE_PANEL);
demurragePanel.setBounds(100, 100, 820, 620);//100,100,520,420
demurragePanel.setLocationRelativeTo(null);
demurragePanel.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
demurragePanel.getContentPane().setLayout(null);
JLabel jLabelDescription = new JLabel();
jLabelDescription.setText("<html> Tracargo can monitor the number of demurrage days accrued <br> by each shipment and send alerts notifying you when free demurrage days will expire. <br>Please select the appropriate shipping line and the corresponding number of free demurrage days. <font color=\"red\"> Then enter in the Demurrage cost per day. </font> </html>");
jLabelDescription.setBounds(15, 5, 500, 80);
jLabelDescription.setFont(new Font("Calibri", Font.BOLD, 13));
demurragePanel.getContentPane().add(jLabelDescription);
JLabel jLabelShipline = new JLabel("Shipping Line" + ":");
jLabelShipline.setBounds(285, 100, 120, 25); //15,100,120,25
jLabelShipline.setFont(new Font("Calibri", Font.BOLD, 13));
demurragePanel.getContentPane().add(jLabelShipline);
shipLineList = new ArrayList<ShipLineVO>();
shipLineList.add(new ShipLineVO("0", "Select a Ship Line"));
try {
shipLineList.addAll(shipLineController.getShipLineList());
} catch (Exception e1) {
JOptionPane.showMessageDialog(null, e1.getMessage());
}
shippingLinecombBox = new JComboBox(shipLineList.toArray());
shippingLinecombBox.setBounds(399, 97, 120, 25); //120,100,120,25
shippingLinecombBox.setFont(new Font("Tahoma", Font.BOLD, 13));
shippingLinecombBox.setSelectedIndex(0);
demurragePanel.getContentPane().add(shippingLinecombBox);
JLabel jLabelDays = new JLabel("Days" + ":");
jLabelDays.setBounds(285, 140,60, 25); //245,100,60,25
jLabelDays.setFont(new Font("Calibri", Font.BOLD, 13));
demurragePanel.getContentPane().add(jLabelDays);
jTextAdd = new JTextField();
jTextAdd.setBounds(325, 140, 65, 25); //285,100,55,25
jTextAdd.setFont(new Font("Calibri", Font.BOLD, 13));
demurragePanel.getContentPane().add(jTextAdd);
/////////////////////////////////////////////////////////////
//////////////This Version of Tracargo Fase 6 //////////////
/////////////Tania Rivera 14/03/2019 //////////////////////
//////////////////////////////////////////////////////////
JLabel jLabelDemurrageCostPerDay = new JLabel("Demurrage cost per day" + ":");
jLabelDemurrageCostPerDay.setBounds(399, 140, 135, 25); //245,100,60,25
jLabelDemurrageCostPerDay.setForeground(Color.red);
jLabelDemurrageCostPerDay.setFont(new Font("Calibri", Font.BOLD, 13));
demurragePanel.getContentPane().add(jLabelDemurrageCostPerDay);
jTextAddCostPerDay = new JTextField();
jTextAddCostPerDay.setBounds(540, 140, 65, 25); //325,140,65,25
jTextAddCostPerDay.setFont(new Font("Calibri", Font.BOLD, 13));
demurragePanel.getContentPane().add(jTextAddCostPerDay);
/////////////////////////////////////////////////////////////
//////////////This Version of Tracargo Fase 6 //////////////
/////////////Tania Rivera 14/03/2019 //////////////////////
//////////////////////////////////////////////////////////
JButton jbtnAdd = new JButton("Add/Update");
jbtnAdd.setBounds(640, 135, 120, 30); //340,100,120,30
jbtnAdd.setFont(new Font("Tahoma", Font.BOLD, 13));
//jbtnAdd.setFocusPainted(true);
jbtnAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jbtnAdd_actionPerformed(e);
}
});
demurragePanel.getContentPane().add(jbtnAdd);
JPopupMenu popUpMenu = new JPopupMenu();
JMenuItem deleteMItem = new JMenuItem("Delete");
deleteMItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
deleteDemurrage_actionPerformed(e);
}
});
popUpMenu.add(deleteMItem);
JPanel panel = new JPanel();
panel.setBounds(270, 250, 250, 180); //15,150,250,180 //270,250, 250, 180
panel.setLayout(null);
demurrageTable = new JTable();
demurrageTable.setRowSelectionAllowed(true);
demurrageTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
demurrageTable.setRowHeight(20); //20
demurrageTable.addMouseListener(new PopupListener(popUpMenu));
JScrollPane demurrageScrollPane = new JScrollPane();
demurrageScrollPane.setSize(250, 180); //250, 180
demurrageScrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
demurrageScrollPane.setViewportView(demurrageTable);
panel.add(demurrageScrollPane, BorderLayout.CENTER);
demurragePanel.getContentPane().add(panel, BorderLayout.CENTER);
updateTable();
demurragePanel.setVisible(true);
}
public void updateTable() {
List<DemurrageVO> demurrageList = null;
try {
demurrageList = demurrageController.getAll();
Object[][] dataTable = null;
int row = 0;
if (demurrageList != null) {
System.out.print("Tamaño:"+ demurrageList.size()); //ttttt
dataTable = new Object[demurrageList == null ? 0 : demurrageList.size()][columNames.length];
for (DemurrageVO item : demurrageList) {
dataTable[row][0] = item.getShipLineID();
dataTable[row][1] = item.getShipLine();
dataTable[row][2] = item.getDays();
dataTable[row][3] = item.getprice_per_day(); //Tania Rivera
//dataTable[row][3] = Integer.toString(item.getprice_per_day()); //Tania Rivera
row++;
}
demurrageTable.setModel(new DefaultTableModel(dataTable, columNames) {
@Override
public boolean isCellEditable(int row, int column) {
// all cells false
return false;
}
});
demurrageTable.getColumnModel().getColumn(0).setMinWidth(0);
demurrageTable.getColumnModel().getColumn(0).setMaxWidth(0);
/////////////////centrar datos de la columna////////////////////
DefaultTableCellRenderer tcr1 = new DefaultTableCellRenderer();
tcr1.setHorizontalAlignment(SwingConstants.CENTER);
JTable table;
demurrageTable.getColumnModel().getColumn(2).setCellRenderer(tcr1);
////////////////centrar datos de la columna/////////////////////
DefaultTableCellRenderer tcr2 = new DefaultTableCellRenderer();
tcr2.setHorizontalAlignment(SwingConstants.CENTER);
JTable table2;
demurrageTable.getColumnModel().getColumn(3).setCellRenderer(tcr2);
//DecimalFormat formato = new DecimalFormat("$#,###.###");
//String valorFormateado = formato.format(123456.789);
// double price_per_day = 100;
// double Days = 5;
// double precioFinal = (price_per_day * Days);
// DecimalFormat formato = new DecimalFormat("$#,###.###");
//String valorFormateado = formato.format(123456.789);
// System.out.println(precioFinal);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "" + e.getMessage());
}
}
public void jbtnAdd_actionPerformed(ActionEvent e) {
DemurrageVO demurrageVO = new DemurrageVO();
ShipLineVO shipLine = (ShipLineVO) shippingLinecombBox.getSelectedItem();
if (shipLine.getId().equals("0")) {
JOptionPane.showMessageDialog(null, "Select a ship line to continue");
return;
}
if (jTextAdd.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Please enter the days of demurrage");
return;
}
/////////////////////////////////////////////////////////////
//////////////This Version of Tracargo Fase 6 //////////////
/////////////Tania Rivera 14/03/2019 //////////////////////
//////////////////////////////////////////////////////////
// if (jTextAdd.getText().equals("")) {
// JOptionPane.showMessageDialog(null, "Please enter cost per day demurrage");
//return;
//}
// try {
// Integer.valueOf(jTextAddCostPerDay.getText());
// } catch (Exception e1) {
// JOptionPane.showMessageDialog(null, "Please enter cost per day demurrage");
// return;
//}
//////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
try {
Integer.valueOf(jTextAdd.getText());
} catch (Exception e1) {
JOptionPane.showMessageDialog(null, "Invalid number format for Days");
return;
}
//if (Integer.valueOf(jTextAddCostPerDay.getText()) <= 0) {
//JOptionPane.showMessageDialog(null, "Invalid number format for cost per day demurrage");
//return;
//}
demurrageVO.setShipLineID(shipLine.getId());
demurrageVO.setDays(Integer.valueOf(jTextAdd.getText()));
demurrageVO.setprice_per_day(Integer.valueOf(jTextAddCostPerDay.getText())); //Tania Rivera
try {
if (demurrageController.findByShipLine(shipLine.getId()) == 0) { // add
demurrageController.add(demurrageVO);
} else {// Update
demurrageController.update(demurrageVO);
JOptionPane.showMessageDialog(null, "Demurrage days for " + shipLine.getName() + " was updated");
}
updateTable();
shippingLinecombBox.setSelectedIndex(0);
jTextAdd.setText("");
} catch (Exception e1) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null, e1.getMessage());
}
}
public void deleteDemurrage_actionPerformed(ActionEvent e) {
if (this.demurrageTable.getSelectedRow() != -1) {
String shipLineName = (String) this.demurrageTable.getModel()
.getValueAt(this.demurrageTable.getSelectedRow(), 1);
int confirm = JOptionPane.showConfirmDialog(null,
"Do you want to delete demurrage days for: " + shipLineName + "?", "Confirm", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (confirm == JOptionPane.YES_OPTION) {
String shipLineID = (String) this.demurrageTable.getModel()
.getValueAt(this.demurrageTable.getSelectedRow(), 0);
try {
demurrageController.delete(shipLineID);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
updateTable();
}
}
public static void main(String[] args) {
DemurragePanel demurragePanel = new DemurragePanel();
demurragePanel.inicialize();
}
}














