Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package info.chrismcgee.sky;
- import info.chrismcgee.beans.Day;
- import info.chrismcgee.beans.Job;
- import info.chrismcgee.beans.OrderDetail;
- import info.chrismcgee.components.DateManager;
- import info.chrismcgee.sky.treetable.SchedulingTreeTableModel;
- import info.chrismcgee.sky.treetable.SkyCheckTreeManager;
- import info.chrismcgee.sky.treetable.SkyCheckTreeTableManager;
- import info.chrismcgee.tables.DayManager;
- import info.chrismcgee.tables.JobManager;
- import info.chrismcgee.tables.OrderDetailManager;
- import info.chrismcgee.treetable.TreeUtils;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import java.awt.Font;
- import java.awt.Insets;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.FocusAdapter;
- import java.awt.event.FocusEvent;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyChangeListener;
- import java.beans.PropertyVetoException;
- import java.beans.VetoableChangeListener;
- import java.sql.SQLException;
- import java.sql.Timestamp;
- import java.text.NumberFormat;
- import java.text.ParseException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Date;
- import java.util.Enumeration;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Locale;
- import java.util.Map;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JLayeredPane;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JSeparator;
- import javax.swing.JTextField;
- import javax.swing.ScrollPaneConstants;
- import javax.swing.SwingConstants;
- import javax.swing.SwingUtilities;
- import javax.swing.Timer;
- import javax.swing.border.EmptyBorder;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- import javax.swing.event.TreeSelectionEvent;
- import javax.swing.event.TreeSelectionListener;
- import javax.swing.tree.TreePath;
- import net.miginfocom.swing.MigLayout;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import org.jdesktop.swingx.JXMonthView;
- import org.jdesktop.swingx.JXSearchField;
- import org.jdesktop.swingx.JXTreeTable;
- import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode;
- import org.jdesktop.swingx.treetable.MutableTreeTableNode;
- import org.joda.time.DateTimeUtils;
- import org.joda.time.LocalDate;
- public class Scheduling extends JFrame {
- static final Logger log = LogManager.getLogger(Scheduling.class.getName());
- /**
- *
- */
- private static final long serialVersionUID = -1536140709597909040L;
- private static final Date[] EMPTY_DATE_ARRAY = new Date[0];
- private final String DASH = "------";
- private NumberFormat usFormat = NumberFormat.getIntegerInstance(Locale.US);
- private JXTreeTable treeTable;
- private JTextField tfAvailableScreen;
- private JTextField tfAvailablePad;
- private JTextField tfAvailableHotstamp;
- private JTextField tfAvailableOffsetCups;
- private JTextField tfAvailableOffsetNaps;
- private JTextField tfAvailableDigital;
- private JTextField tfAvailableTotal;
- private JLabel lblToCompleteScreen;
- private JLabel lblToCompletePad;
- private JLabel lblToCompleteHotstamp;
- private JLabel lblToCompleteOffsetCups;
- private JLabel lblToCompleteOffsetNaps;
- private JLabel lblToCompleteDigital;
- private JLabel lblToCompleteTotal;
- private JLabel lblScheduledScreen;
- private JLabel lblScheduledPad;
- private JLabel lblScheduledHotstamp;
- private JLabel lblScheduledOffsetCups;
- private JLabel lblScheduledOffsetNaps;
- private JLabel lblScheduledDigital;
- private JLabel lblScheduledTotal;
- private JLabel lblRemainScreen;
- private JLabel lblRemainPad;
- private JLabel lblRemainHotstamp;
- private JLabel lblRemainOffsetCups;
- private JLabel lblRemainOffsetNaps;
- private JLabel lblRemainDigital;
- private long completedScreen;
- private long completedPad;
- private long completedHotstamp;
- private long completedOffsetCups;
- private long completedOffsetNaps;
- private long completedDigital;
- private long earlyScreen;
- private long earlyPad;
- private long earlyHotstamp;
- private long earlyOffsetCups;
- private long earlyOffsetNaps;
- private long earlyDigital;
- private long scheduledScreen;
- private long scheduledPad;
- private long scheduledHotstamp;
- private long scheduledOffsetCups;
- private long scheduledOffsetNaps;
- private long scheduledDigital;
- private static JLabel lblDate;
- private JLabel lblRemainTotal;
- private long totalCompleted;
- private long totalAvailable;
- private long totalScheduled;
- private long totalEarly;
- private long totalRemaining;
- private long tempLong;
- private boolean someCollapsed = false;
- private List<Job> jobList = new ArrayList<Job>();
- private List<Job> narrowedJobList = new ArrayList<Job>();
- private Day todaysBean;
- private ActionListener refresher = new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent evt) {
- log.trace("Timer refreshed TreeTable.");
- thisDay = DateManager.stringToJDate(getDisplayedDate());
- monthView.ensureDateVisible(thisDay);
- monthView.setSelectionDate(thisDay);
- updateTreeTable(DateManager.getLocalDate(getDisplayedDate()));
- }
- };
- private Timer timer = new Timer(30*1000, refresher);
- private JXSearchField searchField;
- private Pattern jobNumberPattern = Pattern.compile("\\b(\\d+|P\\d+)\\b", Pattern.CASE_INSENSITIVE);
- private Matcher jobNumberMatcher;
- private SkyCheckTreeManager manager;
- private CheckTreeTableSelectionListener selectionListener = new CheckTreeTableSelectionListener();
- private Color warningColor = Color.RED;
- private Date thisDay = new Date();
- private final JXMonthView monthView;
- private String currentDateStr;
- private JButton btnPY;
- private JButton btnPM;
- private JButton btnPD;
- private JButton btnND;
- private JButton btnNM;
- private JButton btnNY;
- private static int accessLevel = 1;
- private JLabel redbarScreen;
- private JLabel redbarPad;
- private JLabel redbarHotstamp;
- private JLabel redbarOffsetCups;
- private JLabel redbarOffsetNaps;
- private JLabel redbarDigital;
- private JLabel redbarTotal;
- private JLabel lblCompletedScreen;
- private JLabel lblCompletedPad;
- private JLabel lblCompletedHotstamp;
- private JLabel lblCompletedOffsetCups;
- private JLabel lblCompletedOffsetNaps;
- private JLabel lblCompletedDigital;
- private JLabel lblCompletedTotal;
- // private MigLayout quantitiesLayout = new MigLayout("", "[][][grow][grow][][grow][][grow][][grow]", "[][][][][][][][][]");
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- if (args.length > 0) accessLevel = Integer.parseInt(args[0]);
- log.trace("Access Level is " + accessLevel);
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- log.entry("main");
- try {
- Scheduling frame = new Scheduling();
- frame.setTitle("Sky Scheduling v1.0");
- frame.setVisible(true);
- frame.updateDay(getDisplayedDate());
- frame.timer.start();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public Scheduling() {
- setMinimumSize(new Dimension(1200, 1000));
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 546, 600);
- JPanel contentPane = new JPanel();
- contentPane.setOpaque(false);
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(new MigLayout("", "[grow][grow][grow][grow][grow][grow][grow][][250px][250px]", "[][][][650.00,grow][]"));
- searchField = new JXSearchField();
- searchField.setPrompt("Customer Name / Order Number");
- searchField.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (e.getActionCommand() == null || e.getActionCommand().equals(""))
- updateTreeTable(DateManager.getLocalDate(lblDate.getText()));
- else
- narrowResults(e.getActionCommand());
- }
- });
- contentPane.add(searchField, "cell 0 0 8 1,growx");
- JButton btnOnHold = new JButton("On Hold");
- btnOnHold.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = "On Hold";
- setDisplayedDate(currentDateStr);
- updateTreeTable(DateManager.getLocalDate(currentDateStr));
- disableArrows();
- clearQuantities();
- monthView.clearSelection();
- timer.restart();
- }
- });
- contentPane.add(btnOnHold, "cell 8 0,growx");
- JButton btnProofing = new JButton("Proofing");
- btnProofing.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = "Proofs";
- setDisplayedDate(currentDateStr);
- updateTreeTable(DateManager.getLocalDate(currentDateStr));
- disableArrows();
- clearQuantities();
- monthView.clearSelection();
- timer.restart();
- }
- });
- contentPane.add(btnProofing, "cell 9 0,growx");
- monthView = new JXMonthView();
- monthView.setFont(new Font("Arial", Font.PLAIN, 16));
- monthView.setFlaggedDayForeground(Color.LIGHT_GRAY);
- monthView.setTraversable(true);
- monthView.setBoxPaddingY(9);
- monthView.setBoxPaddingX(17);
- monthView.setPreferredRowCount(2);
- // monthView.ensureDateVisible(DateManager.stringToJDate(DateManager.getPreviousMonth(DateManager.getToday())));
- monthView.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- enableArrows();
- currentDateStr = DateManager.jDateToString(monthView.getLastSelectionDate());
- setDisplayedDate(currentDateStr);
- updateTreeTable(DateManager.getLocalDate(currentDateStr));
- timer.restart();
- }
- });
- monthView.addKeyListener(new KeyAdapter() {
- @Override
- public void keyReleased(KeyEvent e) {
- if (e.getKeyCode() == KeyEvent.VK_LEFT
- || e.getKeyCode() == KeyEvent.VK_RIGHT
- || e.getKeyCode() == KeyEvent.VK_UP
- || e.getKeyCode() == KeyEvent.VK_DOWN)
- {
- currentDateStr = DateManager.jDateToString(monthView.getLastSelectionDate());
- setDisplayedDate(currentDateStr);
- updateTreeTable(DateManager.getLocalDate(currentDateStr));
- timer.restart();
- }
- }
- });
- monthView.addPropertyChangeListener(new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if ("firstDisplayedDay".equals(evt.getPropertyName()))
- flagDates();
- }
- });
- contentPane.add(monthView, "cell 8 2 2 2,grow");
- btnPY = new JButton("");
- btnPY.setContentAreaFilled(false);
- btnPY.setPressedIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_left_down.png")));
- btnPY.setRolloverIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_left_over.png")));
- btnPY.setDisabledIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_left_down.png")));
- btnPY.setMinimumSize(new Dimension(32, 32));
- btnPY.setMaximumSize(new Dimension(32, 32));
- btnPY.setPreferredSize(new Dimension(32, 32));
- btnPY.setRolloverEnabled(true);
- btnPY.setBorderPainted(false);
- btnPY.setIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_left_up.png")));
- btnPY.setMargin(new Insets(0, 0, 0, 0));
- btnPY.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = DateManager.getPreviousYear(getDisplayedDate());
- updateDay(currentDateStr);
- }
- });
- contentPane.add(btnPY, "flowx,cell 0 2,alignx center");
- btnPM = new JButton("");
- btnPM.setContentAreaFilled(false);
- btnPM.setPressedIcon(new ImageIcon(Scheduling.class.getResource("/img/double_left_down.png")));
- btnPM.setRolloverIcon(new ImageIcon(Scheduling.class.getResource("/img/double_left_over.png")));
- btnPM.setDisabledIcon(new ImageIcon(Scheduling.class.getResource("/img/double_left_down.png")));
- btnPM.setMinimumSize(new Dimension(32, 32));
- btnPM.setMaximumSize(new Dimension(32, 32));
- btnPM.setPreferredSize(new Dimension(32, 32));
- btnPM.setRolloverEnabled(true);
- btnPM.setBorderPainted(false);
- btnPM.setMargin(new Insets(0, 0, 0, 0));
- btnPM.setIcon(new ImageIcon(Scheduling.class.getResource("/img/double_left_up.png")));
- btnPM.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = DateManager.getPreviousMonth(getDisplayedDate());
- updateDay(currentDateStr);
- }
- });
- contentPane.add(btnPM, "cell 1 2,alignx center");
- btnPD = new JButton("");
- btnPD.setContentAreaFilled(false);
- btnPD.setPressedIcon(new ImageIcon(Scheduling.class.getResource("/img/single_left_down.png")));
- btnPD.setRolloverIcon(new ImageIcon(Scheduling.class.getResource("/img/single_left_over.png")));
- btnPD.setDisabledIcon(new ImageIcon(Scheduling.class.getResource("/img/single_left_down.png")));
- btnPD.setPreferredSize(new Dimension(32, 32));
- btnPD.setMinimumSize(new Dimension(32, 32));
- btnPD.setMaximumSize(new Dimension(32, 32));
- btnPD.setRolloverEnabled(true);
- btnPD.setMargin(new Insets(0, 0, 0, 0));
- btnPD.setIcon(new ImageIcon(Scheduling.class.getResource("/img/single_left_up.png")));
- btnPD.setBorderPainted(false);
- btnPD.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = DateManager.getPreviousDay(getDisplayedDate());
- updateDay(currentDateStr);
- }
- });
- contentPane.add(btnPD, "cell 2 2,alignx center");
- lblDate = new JLabel(DateManager.getToday());
- lblDate.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent arg0) {
- currentDateStr = DateManager.getToday();
- updateDay(currentDateStr);
- enableArrows();
- }
- });
- lblDate.setHorizontalAlignment(SwingConstants.CENTER);
- lblDate.setFont(new Font("Lucida Grande", Font.PLAIN, 24));
- contentPane.add(lblDate, "cell 3 2,growx");
- btnND = new JButton("");
- btnND.setContentAreaFilled(false);
- btnND.setPressedIcon(new ImageIcon(Scheduling.class.getResource("/img/single_right_down.png")));
- btnND.setRolloverIcon(new ImageIcon(Scheduling.class.getResource("/img/single_right_over.png")));
- btnND.setDisabledIcon(new ImageIcon(Scheduling.class.getResource("/img/single_right_down.png")));
- btnND.setRolloverEnabled(true);
- btnND.setPreferredSize(new Dimension(32, 32));
- btnND.setMinimumSize(new Dimension(32, 32));
- btnND.setMaximumSize(new Dimension(32, 32));
- btnND.setMargin(new Insets(0, 0, 0, 0));
- btnND.setIcon(new ImageIcon(Scheduling.class.getResource("/img/single_right_up.png")));
- btnND.setBorderPainted(false);
- btnND.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- currentDateStr = DateManager.getNextDay(getDisplayedDate());
- updateDay(currentDateStr);
- }
- });
- contentPane.add(btnND, "cell 4 2,alignx center");
- btnNM = new JButton("");
- btnNM.setContentAreaFilled(false);
- btnNM.setPressedIcon(new ImageIcon(Scheduling.class.getResource("/img/double_right_down.png")));
- btnNM.setRolloverIcon(new ImageIcon(Scheduling.class.getResource("/img/double_right_over.png")));
- btnNM.setDisabledIcon(new ImageIcon(Scheduling.class.getResource("/img/double_right_down.png")));
- btnNM.setRolloverEnabled(true);
- btnNM.setPreferredSize(new Dimension(32, 32));
- btnNM.setMinimumSize(new Dimension(32, 32));
- btnNM.setMaximumSize(new Dimension(32, 32));
- btnNM.setMargin(new Insets(0, 0, 0, 0));
- btnNM.setIcon(new ImageIcon(Scheduling.class.getResource("/img/double_right_up.png")));
- btnNM.setBorderPainted(false);
- btnNM.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = DateManager.getNextMonth(getDisplayedDate());
- updateDay(currentDateStr);
- }
- });
- contentPane.add(btnNM, "cell 5 2,alignx center");
- btnNY = new JButton("");
- btnNY.setContentAreaFilled(false);
- btnNY.setPressedIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_right_down.png")));
- btnNY.setRolloverIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_right_over.png")));
- btnNY.setDisabledIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_right_down.png")));
- btnNY.setRolloverEnabled(true);
- btnNY.setPreferredSize(new Dimension(32, 32));
- btnNY.setMinimumSize(new Dimension(32, 32));
- btnNY.setMaximumSize(new Dimension(32, 32));
- btnNY.setMargin(new Insets(0, 0, 0, 0));
- btnNY.setBorderPainted(false);
- btnNY.setIcon(new ImageIcon(Scheduling.class.getResource("/img/triple_right_up.png")));
- btnNY.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- currentDateStr = DateManager.getNextYear(getDisplayedDate());
- updateDay(currentDateStr);
- }
- });
- contentPane.add(btnNY, "cell 6 2,alignx center");
- JButton button = new JButton("+/-");
- button.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (someCollapsed)
- {
- treeTable.expandAll();
- }
- else
- {
- treeTable.collapseAll();
- }
- someCollapsed = !someCollapsed;
- }
- });
- button.setPreferredSize(new Dimension(29, 29));
- button.setMinimumSize(new Dimension(29, 29));
- button.setMaximumSize(new Dimension(29, 29));
- button.setMargin(new Insets(0, 0, 0, 0));
- contentPane.add(button, "cell 7 2,grow");
- DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode(DateManager.getToday());
- for (Job j : jobList) {
- // Adding jobs to the root tree node
- DefaultMutableTreeTableNode curJob = new DefaultMutableTreeTableNode(j);
- root.add(curJob);
- // Adding details to each job
- for (OrderDetail od : j.getOrderDetailList()) {
- curJob.add(new DefaultMutableTreeTableNode(od));
- }
- }
- SchedulingTreeTableModel sttModel = new SchedulingTreeTableModel(root);
- treeTable = new JXTreeTable(sttModel);
- treeTable.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
- treeTable.getTableHeader().setReorderingAllowed(false);
- treeTable.setAutoCreateColumnsFromModel(false);
- treeTable.getColumn(0).setPreferredWidth(200);
- treeTable.getColumn(1).setPreferredWidth(75);
- treeTable.getColumn(2).setPreferredWidth(15);
- treeTable.getColumn(2).setMinWidth(15);
- treeTable.getColumn(2).setMaxWidth(15);
- treeTable.getColumn(3).setPreferredWidth(50);
- treeTable.getColumn(3).setMaxWidth(50);
- treeTable.getColumn(4).setPreferredWidth(25);
- // treeTable.addTreeExpansionListener(tel);
- treeTable.setEditable(true);
- treeTable.setRootVisible(false);
- manager = new SkyCheckTreeTableManager(treeTable, true, true);
- manager.getSelectionModel().addTreeSelectionListener(selectionListener);
- manager.setVetoableChangeListener(new CheckStateChangeListener());
- manager.setCheckBoxCustomizer(new SkyCheckTreeManager.CheckBoxCustomizer() {
- @Override
- public boolean showCheckBox(TreePath path) {
- DefaultMutableTreeTableNode ttNode = (DefaultMutableTreeTableNode) path.getLastPathComponent();
- if (ttNode.getUserObject() instanceof OrderDetail)
- ttNode = (DefaultMutableTreeTableNode) ttNode.getParent();
- Job jobNode = (Job) ttNode.getUserObject();
- java.sql.Date sqlDate = jobNode.getShipDate();
- return !DateManager.isOnHoldDate(sqlDate) && !DateManager.isProofingDate(sqlDate) && accessLevel == 1;
- }
- });
- JScrollPane scrollPane = new JScrollPane(treeTable);
- scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
- contentPane.add(scrollPane, "cell 0 3 8 2,grow");
- JPanel stretchyPanel = new JPanel();
- stretchyPanel.setOpaque(false);
- contentPane.add(stretchyPanel, "cell 8 4 2 1,growx,aligny bottom");
- stretchyPanel.setLayout(new MigLayout("insets 0", "[510px]", "[310]"));
- JLayeredPane layeredPane = new JLayeredPane();
- stretchyPanel.add(layeredPane, "cell 0 0,grow");
- JPanel quantitiesPanel = new JPanel();
- quantitiesPanel.setLocation(0, 0);
- quantitiesPanel.setSize(510, 271);
- layeredPane.add(quantitiesPanel);
- layeredPane.setLayer(quantitiesPanel, 1);
- quantitiesPanel.setLayout(new MigLayout("", "[][][grow][grow][][grow][][grow][][grow]", "[][][][][][][][][]"));
- // Header row (first):
- JLabel lblProductType = new JLabel("Product Type");
- lblProductType.setFont(new Font("Arial", lblProductType.getFont().getStyle() | Font.ITALIC, 12));
- lblProductType.setBounds(0, 0, 99, 16);
- quantitiesPanel.add(lblProductType, "cell 0 0,growx");
- lblProductType.setHorizontalAlignment(SwingConstants.CENTER);
- JLabel lblToComplete = new JLabel("To Complete");
- lblToComplete.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() | Font.ITALIC));
- lblToComplete.setBounds(0, 0, 80, 16);
- quantitiesPanel.add(lblToComplete, "cell 2 0,growx");
- lblToComplete.setHorizontalAlignment(SwingConstants.CENTER);
- JLabel lblMaximums = new JLabel("Maximums");
- lblMaximums.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() | Font.ITALIC));
- lblMaximums.setBounds(0, 0, 174, 16);
- quantitiesPanel.add(lblMaximums, "cell 3 0,growx");
- lblMaximums.setHorizontalAlignment(SwingConstants.CENTER);
- JLabel lblScheduled = new JLabel("Scheduled");
- lblScheduled.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() | Font.ITALIC));
- lblScheduled.setBounds(0, 0, 64, 16);
- quantitiesPanel.add(lblScheduled, "cell 5 0,growx");
- lblScheduled.setHorizontalAlignment(SwingConstants.CENTER);
- JLabel lblCompleted = new JLabel("Completed");
- lblCompleted.setHorizontalAlignment(SwingConstants.CENTER);
- lblCompleted.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() | Font.ITALIC));
- quantitiesPanel.add(lblCompleted, "cell 7 0");
- JLabel lblRemaining = new JLabel("Remaining");
- lblRemaining.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() | Font.ITALIC));
- lblRemaining.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblRemaining, "cell 9 0,growx");
- JSeparator headerSeparator = new JSeparator(SwingConstants.HORIZONTAL);
- headerSeparator.setBorder(new LineBorder(new Color(0, 0, 0)));
- quantitiesPanel.add(headerSeparator, "cell 0 1 10 1,grow");
- // Screen row (second):
- JLabel lblScreen = new JLabel("Screen:");
- lblScreen.setFont(new Font("Arial", Font.PLAIN, 13));
- quantitiesPanel.add(lblScreen, "cell 0 2,growx,aligny center");
- lblToCompleteScreen = new JLabel((String) null);
- lblToCompleteScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblToCompleteScreen.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompleteScreen, "cell 2 2,alignx trailing");
- tfAvailableScreen = new JTextField();
- tfAvailableScreen.setName("Screen");
- tfAvailableScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- tfAvailableScreen.setHorizontalAlignment(SwingConstants.TRAILING);
- tfAvailableScreen.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- updateThisField(tfAvailableScreen, true);
- }
- });
- tfAvailableScreen.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateThisField(tfAvailableScreen, true);
- }
- });
- quantitiesPanel.add(tfAvailableScreen, "cell 3 2,growx");
- JLabel lblMinusScreen = new JLabel("-");
- lblMinusScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblMinusScreen.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusScreen, "cell 4 2,growx");
- lblScheduledScreen = new JLabel((String) null);
- lblScheduledScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblScheduledScreen.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledScreen, "cell 5 2,growx");
- JLabel lblPlusScreen = new JLabel("+");
- lblPlusScreen.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPlusScreen, "cell 6 2,growx");
- lblCompletedScreen = new JLabel((String) null);
- lblCompletedScreen.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblCompletedScreen, "cell 7 2,growx");
- JLabel lblEqualsScreen = new JLabel("=");
- lblEqualsScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblEqualsScreen.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsScreen, "cell 8 2,growx");
- lblRemainScreen = new JLabel(usFormat.format(completedScreen));
- lblRemainScreen.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblRemainScreen, "cell 9 2,growx");
- lblRemainScreen.setHorizontalAlignment(SwingConstants.RIGHT);
- JLabel lblPad = new JLabel("Pad:");
- lblPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPad, "cell 0 3,growx");
- lblToCompletePad = new JLabel((String) null);
- lblToCompletePad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblToCompletePad.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompletePad, "cell 2 3,growx");
- tfAvailablePad = new JTextField();
- tfAvailablePad.setName("Pad");
- tfAvailablePad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- tfAvailablePad.setHorizontalAlignment(SwingConstants.TRAILING);
- tfAvailablePad.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- updateThisField(tfAvailablePad, true);
- }
- });
- tfAvailablePad.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateThisField(tfAvailablePad, true);
- }
- });
- quantitiesPanel.add(tfAvailablePad, "cell 3 3,growx");
- JLabel lblMinusPad = new JLabel("-");
- lblMinusPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblMinusPad.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusPad, "cell 4 3,growx");
- lblScheduledPad = new JLabel((String) null);
- lblScheduledPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblScheduledPad.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledPad, "cell 5 3,growx");
- JLabel lblPlusPad = new JLabel("+");
- lblPlusPad.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPlusPad, "cell 6 3,growx");
- lblCompletedPad = new JLabel((String) null);
- lblCompletedPad.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblCompletedPad, "cell 7 3,growx");
- JLabel lblEqualsPad = new JLabel("=");
- lblEqualsPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblEqualsPad.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsPad, "cell 8 3,growx");
- lblRemainPad = new JLabel(usFormat.format(completedPad));
- lblRemainPad.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblRemainPad.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblRemainPad, "cell 9 3,growx");
- JLabel lblHotstamp = new JLabel("Hotstamp:");
- lblHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblHotstamp, "cell 0 4,growx");
- lblToCompleteHotstamp = new JLabel((String) null);
- lblToCompleteHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblToCompleteHotstamp.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompleteHotstamp, "cell 2 4,growx");
- tfAvailableHotstamp = new JTextField();
- tfAvailableHotstamp.setName("Hotstamp");
- tfAvailableHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- tfAvailableHotstamp.setHorizontalAlignment(SwingConstants.TRAILING);
- tfAvailableHotstamp.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- updateThisField(tfAvailableHotstamp, true);
- }
- });
- tfAvailableHotstamp.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateThisField(tfAvailableHotstamp, true);
- }
- });
- quantitiesPanel.add(tfAvailableHotstamp, "cell 3 4,growx");
- JLabel lblMinusHotstamp = new JLabel("-");
- lblMinusHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblMinusHotstamp.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusHotstamp, "cell 4 4,growx");
- lblScheduledHotstamp = new JLabel((String) null);
- lblScheduledHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblScheduledHotstamp.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledHotstamp, "cell 5 4,growx");
- JLabel lblPlusHotstamp = new JLabel("+");
- lblPlusHotstamp.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPlusHotstamp, "cell 6 4,growx");
- lblCompletedHotstamp = new JLabel((String) null);
- lblCompletedHotstamp.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblCompletedHotstamp, "cell 7 4,growx");
- JLabel lblEqualsHotstamp = new JLabel("=");
- lblEqualsHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblEqualsHotstamp.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsHotstamp, "cell 8 4,growx");
- lblRemainHotstamp = new JLabel(usFormat.format(completedHotstamp));
- lblRemainHotstamp.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblRemainHotstamp.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblRemainHotstamp, "cell 9 4,growx");
- JLabel lblOffsetCups = new JLabel("Offset Cups:");
- lblOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblOffsetCups, "cell 0 5,growx");
- lblToCompleteOffsetCups = new JLabel((String) null);
- lblToCompleteOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblToCompleteOffsetCups.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompleteOffsetCups, "cell 2 5,growx");
- tfAvailableOffsetCups = new JTextField();
- tfAvailableOffsetCups.setName("OffsetCups");
- tfAvailableOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- tfAvailableOffsetCups.setHorizontalAlignment(SwingConstants.TRAILING);
- tfAvailableOffsetCups.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- updateThisField(tfAvailableOffsetCups, true);
- }
- });
- tfAvailableOffsetCups.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateThisField(tfAvailableOffsetCups, true);
- }
- });
- quantitiesPanel.add(tfAvailableOffsetCups, "cell 3 5,growx");
- JLabel lblMinusOffsetCups = new JLabel("-");
- lblMinusOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblMinusOffsetCups.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusOffsetCups, "cell 4 5,growx");
- lblScheduledOffsetCups = new JLabel((String) null);
- lblScheduledOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblScheduledOffsetCups.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledOffsetCups, "cell 5 5,growx");
- JLabel lblPlusOffsetCups = new JLabel("+");
- lblPlusOffsetCups.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPlusOffsetCups, "cell 6 5,growx");
- lblCompletedOffsetCups = new JLabel((String) null);
- lblCompletedOffsetCups.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblCompletedOffsetCups, "cell 7 5,growx");
- JLabel lblEqualsOffsetCups = new JLabel("=");
- lblEqualsOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblEqualsOffsetCups.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsOffsetCups, "cell 8 5,growx");
- lblRemainOffsetCups = new JLabel(usFormat.format(completedOffsetCups));
- lblRemainOffsetCups.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblRemainOffsetCups.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblRemainOffsetCups, "cell 9 5,growx");
- JLabel lblOffsetNaps = new JLabel("Offset Napkins:");
- lblOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblOffsetNaps, "cell 0 6,growx");
- lblToCompleteOffsetNaps = new JLabel((String) null);
- lblToCompleteOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblToCompleteOffsetNaps.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompleteOffsetNaps, "cell 2 6,growx");
- tfAvailableOffsetNaps = new JTextField();
- tfAvailableOffsetNaps.setName("OffsetNaps");
- tfAvailableOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- tfAvailableOffsetNaps.setHorizontalAlignment(SwingConstants.TRAILING);
- tfAvailableOffsetNaps.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- updateThisField(tfAvailableOffsetNaps, true);
- }
- });
- tfAvailableOffsetNaps.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateThisField(tfAvailableOffsetNaps, true);
- }
- });
- quantitiesPanel.add(tfAvailableOffsetNaps, "cell 3 6,growx");
- JLabel lblMinusOffsetNaps = new JLabel("-");
- lblMinusOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblMinusOffsetNaps.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusOffsetNaps, "cell 4 6,growx");
- lblScheduledOffsetNaps = new JLabel((String) null);
- lblScheduledOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblScheduledOffsetNaps.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledOffsetNaps, "cell 5 6,growx");
- JLabel lblPlusOffsetNaps = new JLabel("+");
- lblPlusOffsetNaps.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPlusOffsetNaps, "cell 6 6,growx");
- lblCompletedOffsetNaps = new JLabel((String) null);
- lblCompletedOffsetNaps.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblCompletedOffsetNaps, "cell 7 6,growx");
- JLabel lblEqualsOffsetNaps = new JLabel("=");
- lblEqualsOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblEqualsOffsetNaps.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsOffsetNaps, "cell 8 6,growx");
- lblRemainOffsetNaps = new JLabel(usFormat.format(completedOffsetNaps));
- lblRemainOffsetNaps.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblRemainOffsetNaps.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblRemainOffsetNaps, "cell 9 6,growx");
- JLabel lblDigital = new JLabel("Digital:");
- lblDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblDigital, "cell 0 7,growx");
- lblToCompleteDigital = new JLabel((String) null);
- lblToCompleteDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblToCompleteDigital.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompleteDigital, "cell 2 7,growx");
- tfAvailableDigital = new JTextField();
- tfAvailableDigital.setName("Digital");
- tfAvailableDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- tfAvailableDigital.setHorizontalAlignment(SwingConstants.TRAILING);
- tfAvailableDigital.addFocusListener(new FocusAdapter() {
- @Override
- public void focusLost(FocusEvent e) {
- updateThisField(tfAvailableDigital, true);
- }
- });
- tfAvailableDigital.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- updateThisField(tfAvailableDigital, true);
- }
- });
- quantitiesPanel.add(tfAvailableDigital, "cell 3 7,growx");
- JLabel lblMinusDigital = new JLabel("-");
- lblMinusDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblMinusDigital.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusDigital, "cell 4 7,growx");
- lblScheduledDigital = new JLabel((String) null);
- lblScheduledDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblScheduledDigital.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledDigital, "cell 5 7,growx");
- JLabel lblPlusDigital = new JLabel("+");
- lblPlusDigital.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblPlusDigital, "cell 6 7,growx");
- lblCompletedDigital = new JLabel((String) null);
- lblCompletedDigital.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- quantitiesPanel.add(lblCompletedDigital, "cell 7 7,growx");
- JLabel lblEqualsDigital = new JLabel("=");
- lblEqualsDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblEqualsDigital.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsDigital, "cell 8 7,growx");
- lblRemainDigital = new JLabel(usFormat.format(completedDigital));
- lblRemainDigital.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC, lblProductType.getFont().getSize() + 1f));
- lblRemainDigital.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblRemainDigital, "cell 9 7,growx");
- JLabel lblTotal = new JLabel("Total:");
- lblTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- quantitiesPanel.add(lblTotal, "cell 0 8,growx");
- lblToCompleteTotal = new JLabel((String) null);
- lblToCompleteTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- lblToCompleteTotal.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblToCompleteTotal, "cell 2 8,growx");
- tfAvailableTotal = new JTextField();
- tfAvailableTotal.setEditable(false);
- tfAvailableTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- tfAvailableTotal.setText(usFormat.format(totalAvailable));
- tfAvailableTotal.setHorizontalAlignment(SwingConstants.TRAILING);
- quantitiesPanel.add(tfAvailableTotal, "cell 3 8,growx");
- JLabel lblMinusTotal = new JLabel("-");
- lblMinusTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- lblMinusTotal.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblMinusTotal, "cell 4 8,growx");
- lblScheduledTotal = new JLabel((String) null);
- lblScheduledTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- lblScheduledTotal.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblScheduledTotal, "cell 5 8,growx");
- JLabel lblPlusTotal = new JLabel("+");
- lblPlusTotal.setHorizontalAlignment(SwingConstants.CENTER);
- lblPlusTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- quantitiesPanel.add(lblPlusTotal, "cell 6 8,growx");
- lblCompletedTotal = new JLabel((String) null);
- lblCompletedTotal.setHorizontalAlignment(SwingConstants.RIGHT);
- lblCompletedTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- quantitiesPanel.add(lblCompletedTotal, "cell 7 8,growx");
- JLabel lblEqualsTotal = new JLabel("=");
- lblEqualsTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- lblEqualsTotal.setHorizontalAlignment(SwingConstants.CENTER);
- quantitiesPanel.add(lblEqualsTotal, "cell 8 8,growx");
- lblRemainTotal = new JLabel();
- lblRemainTotal.setFont(lblProductType.getFont().deriveFont(lblProductType.getFont().getStyle() & ~Font.ITALIC | Font.BOLD, lblProductType.getFont().getSize() + 4f));
- lblRemainTotal.setHorizontalAlignment(SwingConstants.RIGHT);
- quantitiesPanel.add(lblRemainTotal, "cell 9 8,growx");
- JPanel redBarPanel = new JPanel();
- redBarPanel.setOpaque(false);
- redBarPanel.setLocation(0, 0);
- redBarPanel.setSize(510, 271);
- layeredPane.add(redBarPanel);
- layeredPane.setLayer(redBarPanel, 0);
- redBarPanel.setLayout(new MigLayout("", "[][][grow][grow][][grow][][grow][][grow]", "[::16][0][::22][::21][::21][::21][::21][::21][28:n]"));
- redbarScreen = new JLabel("");
- redbarScreen.setOpaque(true);
- redbarScreen.setVisible(true);
- // layeredPane.setLayer(redbarScreen, 0);
- redbarScreen.setBackground(warningColor);
- // redbarScreen.setBounds(0, 37, 510, 31);
- redBarPanel.add(redbarScreen, "cell 0 2 10 1,grow");
- redbarPad = new JLabel("");
- redbarPad.setVisible(true);
- // layeredPane.setLayer(redbarPad, 0);
- redbarPad.setBackground(warningColor);
- redbarPad.setBounds(0, 68, 510, 32);
- redBarPanel.add(redbarPad, "cell 0 3 10 1,grow");
- redbarHotstamp = new JLabel("");
- redbarHotstamp.setVisible(true);
- // layeredPane.setLayer(redbarHotstamp, 0);
- redbarHotstamp.setBackground(warningColor);
- redbarHotstamp.setBounds(0, 100, 510, 32);
- redBarPanel.add(redbarHotstamp, "cell 0 4 10 1,grow");
- redbarOffsetCups = new JLabel("");
- redbarOffsetCups.setVisible(true);
- // layeredPane.setLayer(redbarOffsetCups, 0);
- redbarOffsetCups.setBackground(warningColor);
- redbarOffsetCups.setBounds(0, 132, 510, 32);
- redBarPanel.add(redbarOffsetCups, "cell 0 5 10 1,grow");
- redbarOffsetNaps = new JLabel("");
- redbarOffsetNaps.setVisible(true);
- // layeredPane.setLayer(redbarOffsetNaps, 0);
- redbarOffsetNaps.setBackground(warningColor);
- redbarOffsetNaps.setBounds(0, 164, 510, 32);
- redBarPanel.add(redbarOffsetNaps, "cell 0 6 10 1,grow");
- redbarDigital = new JLabel("");
- redbarDigital.setVisible(true);
- // layeredPane.setLayer(redbarDigital, 0);
- redbarDigital.setBackground(warningColor);
- redbarDigital.setBounds(0, 196, 510, 32);
- redBarPanel.add(redbarDigital, "cell 0 7 10 1,grow");
- redbarTotal = new JLabel("");
- redbarTotal.setVisible(true);
- // layeredPane.setLayer(redbarTotal, 0);
- redbarTotal.setBackground(warningColor);
- redbarTotal.setBounds(0, 228, 510, 38);
- redBarPanel.add(redbarTotal, "cell 0 8 10 1,grow");
- }
- private void checkForOverscheduling ()
- {
- log.entry("Checking to see if any jobs have been over-scheduled.");
- try {
- if (usFormat.parse(lblScheduledScreen.getText()).longValue() > usFormat.parse(tfAvailableScreen.getText()).longValue())
- redbarScreen.setOpaque(true);
- else
- redbarScreen.setOpaque(false);
- if (usFormat.parse(lblScheduledPad.getText()).longValue() > usFormat.parse(tfAvailablePad.getText()).longValue())
- redbarPad.setOpaque(true);
- else
- redbarPad.setOpaque(false);
- if (usFormat.parse(lblScheduledHotstamp.getText()).longValue() > usFormat.parse(tfAvailableHotstamp.getText()).longValue())
- redbarHotstamp.setOpaque(true);
- else
- redbarHotstamp.setOpaque(false);
- if (usFormat.parse(lblScheduledOffsetCups.getText()).longValue() > usFormat.parse(tfAvailableOffsetCups.getText()).longValue())
- redbarOffsetCups.setOpaque(true);
- else
- redbarOffsetCups.setOpaque(false);
- if (usFormat.parse(lblScheduledOffsetNaps.getText()).longValue() > usFormat.parse(tfAvailableOffsetNaps.getText()).longValue())
- redbarOffsetNaps.setOpaque(true);
- else
- redbarOffsetNaps.setOpaque(false);
- if (usFormat.parse(lblScheduledDigital.getText()).longValue() > usFormat.parse(tfAvailableDigital.getText()).longValue())
- redbarDigital.setOpaque(true);
- else
- redbarDigital.setOpaque(false);
- if (usFormat.parse(lblScheduledTotal.getText()).longValue() > usFormat.parse(tfAvailableTotal.getText()).longValue())
- redbarTotal.setOpaque(true);
- else
- redbarTotal.setOpaque(false);
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- private void disableArrows ()
- {
- btnPY.setEnabled(false);
- btnPM.setEnabled(false);
- btnPD.setEnabled(false);
- btnND.setEnabled(false);
- btnNM.setEnabled(false);
- btnNY.setEnabled(false);
- tfAvailableScreen.setEnabled(false);
- tfAvailablePad.setEnabled(false);
- tfAvailableHotstamp.setEnabled(false);
- tfAvailableOffsetCups.setEnabled(false);
- tfAvailableOffsetNaps.setEnabled(false);
- tfAvailableDigital.setEnabled(false);
- }
- private void enableArrows ()
- {
- btnPY.setEnabled(true);
- btnPM.setEnabled(true);
- btnPD.setEnabled(true);
- btnND.setEnabled(true);
- btnNM.setEnabled(true);
- btnNY.setEnabled(true);
- tfAvailableScreen.setEnabled(true);
- tfAvailablePad.setEnabled(true);
- tfAvailableHotstamp.setEnabled(true);
- tfAvailableOffsetCups.setEnabled(true);
- tfAvailableOffsetNaps.setEnabled(true);
- tfAvailableDigital.setEnabled(true);
- }
- private void clearQuantities ()
- {
- lblToCompleteScreen.setText(DASH);
- lblToCompletePad.setText(DASH);
- lblToCompleteHotstamp.setText(DASH);
- lblToCompleteOffsetCups.setText(DASH);
- lblToCompleteOffsetNaps.setText(DASH);
- lblToCompleteDigital.setText(DASH);
- lblToCompleteTotal.setText(DASH);
- tfAvailableScreen.setText(DASH);
- tfAvailablePad.setText(DASH);
- tfAvailableHotstamp.setText(DASH);
- tfAvailableOffsetCups.setText(DASH);
- tfAvailableOffsetNaps.setText(DASH);
- tfAvailableDigital.setText(DASH);
- tfAvailableTotal.setText(DASH);
- lblRemainScreen.setText(DASH);
- lblRemainPad.setText(DASH);
- lblRemainHotstamp.setText(DASH);
- lblRemainOffsetCups.setText(DASH);
- lblRemainOffsetNaps.setText(DASH);
- lblRemainDigital.setText(DASH);
- lblRemainTotal.setText(DASH);
- }
- /**
- * Returns a String value of the date at the top of the window.
- *
- * @return the text of the lblDate
- */
- public static String getDisplayedDate()
- {
- return lblDate.getText();
- }
- /**
- * Sets a String value to the date area at the top of the window.
- *
- * @param newDate the lblDate to set
- */
- public void setDisplayedDate(String newDate)
- {
- lblDate.setText(newDate);
- }
- public void updateGrandTotals ()
- {
- totalCompleted = completedScreen + completedPad + completedHotstamp +
- completedOffsetCups + completedOffsetNaps + completedDigital;
- totalScheduled = scheduledScreen + scheduledPad + scheduledHotstamp +
- scheduledOffsetCups + scheduledOffsetNaps + scheduledDigital;
- totalEarly = earlyScreen + earlyPad + earlyHotstamp +
- earlyOffsetCups + earlyOffsetNaps + earlyDigital;
- totalRemaining = todaysBean.getRemainScreen() + todaysBean.getRemainPad() +
- todaysBean.getRemainHotstamp() + todaysBean.getRemainOffsetCups() +
- todaysBean.getRemainOffsetNaps() + todaysBean.getRemainDigital();
- try {
- totalAvailable = usFormat.parse(tfAvailableScreen.getText()).longValue() +
- usFormat.parse(tfAvailablePad.getText()).longValue() +
- usFormat.parse(tfAvailableHotstamp.getText()).longValue() +
- usFormat.parse(tfAvailableOffsetCups.getText()).longValue() +
- usFormat.parse(tfAvailableOffsetNaps.getText()).longValue() +
- usFormat.parse(tfAvailableDigital.getText()).longValue();
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- lblToCompleteTotal.setText(usFormat.format(totalScheduled - totalCompleted));
- tfAvailableTotal.setText(usFormat.format(totalAvailable));
- lblScheduledTotal.setText(usFormat.format(totalScheduled));
- lblCompletedTotal.setText(usFormat.format(totalEarly));
- lblRemainTotal.setText(usFormat.format(totalRemaining));
- checkForOverscheduling();
- }
- public void updateTreeTable (LocalDate ldDate)
- {
- log.entry("updateTreeTable");
- manager.getSelectionModel().removeTreeSelectionListener(selectionListener);
- DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode(ldDate.toString());
- try {
- jobList = JobManager.getJobsByDate(ldDate);
- todaysBean = DayManager.getRow(ldDate);
- List<TreePath> paths = new ArrayList<TreePath>();
- if (todaysBean == null)
- {
- if (DayManager.insert(ldDate)) todaysBean = DayManager.getRow(ldDate);
- }
- if (jobList != null)
- {
- for (Job j : jobList) {
- // Adding jobs to the root tree node
- DefaultMutableTreeTableNode curJob = new DefaultMutableTreeTableNode(j);
- root.add(curJob);
- TreePath curJobPath = TreeUtils.getPath(curJob);
- log.debug("Checking to see of the current Job is completed.");
- if (j.getJobCompleted() != null)
- {
- paths.add(curJobPath);
- for (OrderDetail od : j.getOrderDetailList()) {
- log.debug("Assigning the Job's completion Timestamp to one of its OrderDetail's completion Timestamp.");
- od.setItemCompleted(j.getJobCompleted());
- // od.setItemCompleted(true);
- OrderDetailManager.setItemCompleted(od);
- }
- }
- // Adding details to each job
- boolean allCompleted = true;
- List<OrderDetail> completedOrderDetails = new ArrayList<OrderDetail>();
- for (OrderDetail od : j.getOrderDetailList()) {
- DefaultMutableTreeTableNode curDetail = new DefaultMutableTreeTableNode(od);
- curJob.add(curDetail);
- TreePath curDetailPath = TreeUtils.getPath(curDetail);
- if (od.getItemCompleted() != null && j.getJobCompleted() == null)
- {
- paths.add(curDetailPath);
- completedOrderDetails.add(od);
- }
- else
- allCompleted = false;
- }
- if (allCompleted)
- {
- // j.setCompleted(true);
- j.setJobCompleted(OrderDetailManager.getLatestCompletionDate(completedOrderDetails));
- JobManager.setCompleted(j);
- }
- }
- TreePath[] treePaths = paths.toArray(new TreePath[0]);
- log.trace("Refreshed TreeTable, selection paths is: " + paths.toString());
- manager.getSelectionModel().setSelectionPaths(treePaths);
- manager.getSelectionModel().addTreeSelectionListener(selectionListener);
- treeTable.setTreeTableModel(new SchedulingTreeTableModel(root));
- updateMaximumFields();
- treeTable.expandAll();
- someCollapsed = false;
- // Select current day
- // Flag days that are completed in the calendars
- flagDates();
- }
- } catch (Exception e) {
- log.error("Exception when updating the TreeTable.", e);
- }
- log.exit("updateTreeTable");
- }
- public void flagDates() {
- try {
- Date[] flagDates = DateManager.getDateRange(monthView.getFirstDisplayedDay(), monthView.getLastDisplayedDay());
- List<Date> dateList = new ArrayList<Date>(Arrays.asList(flagDates));
- Day dayCheckingBean = new Day();
- Date dateToCheck = new Date();
- int i = 0;
- int endCond = dateList.size();
- while (i < endCond) {
- dateToCheck = dateList.get(i);
- dayCheckingBean = DayManager.getRow(LocalDate.fromDateFields(dateToCheck));
- if (dayCheckingBean == null || dayCheckingBean.getDayCompleted() == null)
- {
- dateList.remove(dateToCheck);
- endCond--;
- }
- else
- i++;
- }
- flagDates = dateList.toArray(EMPTY_DATE_ARRAY);
- monthView.setFlaggedDates(flagDates);
- } catch (SQLException e) {
- log.error("SQLException thrown when flagging dates.", e);
- }
- }
- public void narrowResults (String searchString)
- {
- manager.getSelectionModel().removeTreeSelectionListener(selectionListener);
- DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode(getDisplayedDate());
- narrowedJobList.clear();
- jobNumberMatcher = jobNumberPattern.matcher(searchString);
- List<TreePath> paths = new ArrayList<TreePath>();
- try {
- if (jobNumberMatcher.lookingAt())
- {
- for (Job thisJob : jobList)
- if (thisJob.getJobId().toLowerCase().contains(searchString.toLowerCase()))
- narrowedJobList.add(thisJob);
- }
- else
- {
- for (Job thisJob : jobList)
- if (thisJob.getCustomerName().toLowerCase().contains(searchString.toLowerCase()))
- narrowedJobList.add(thisJob);
- }
- for (Job j : narrowedJobList) {
- // Adding jobs to the root tree node
- DefaultMutableTreeTableNode curJob = new DefaultMutableTreeTableNode(j);
- root.add(curJob);
- TreePath curJobPath = TreeUtils.getPath(curJob);
- if (j.getJobCompleted() != null)
- {
- paths.add(curJobPath);
- for (OrderDetail od : j.getOrderDetailList()) {
- od.setItemCompleted(j.getJobCompleted());
- OrderDetailManager.setItemCompleted(od);
- }
- }
- // Adding details to each job
- boolean allCompleted = true;
- List<OrderDetail> completedOrderDetails = new ArrayList<OrderDetail>();
- for (OrderDetail od : j.getOrderDetailList()) {
- DefaultMutableTreeTableNode curDetail = new DefaultMutableTreeTableNode(od);
- curJob.add(curDetail);
- TreePath curDetailPath = TreeUtils.getPath(curDetail);
- if (od.getItemCompleted() != null && j.getJobCompleted() == null)
- {
- paths.add(curDetailPath);
- completedOrderDetails.add(od);
- }
- else
- allCompleted = false;
- }
- if (allCompleted)
- {
- j.setJobCompleted(OrderDetailManager.getLatestCompletionDate(completedOrderDetails));
- JobManager.setCompleted(j);
- }
- }
- TreePath[] treePaths = paths.toArray(new TreePath[0]);
- log.trace("Narrowed TreeTable, selection paths is: " + paths.toString());
- manager.getSelectionModel().setSelectionPaths(treePaths);
- manager.getSelectionModel().addTreeSelectionListener(selectionListener);
- treeTable.setTreeTableModel(new SchedulingTreeTableModel(root));
- treeTable.expandAll();
- someCollapsed = false;
- timer.stop();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void updateThisField (JTextField textField, boolean updateRemaining)
- {
- try {
- tempLong = usFormat.parse(textField.getText()).longValue();
- textField.setText(usFormat.format(tempLong));
- switch (textField.getName())
- {
- case "Screen":
- todaysBean.setAvailableScreen(tempLong);
- break;
- case "Pad":
- todaysBean.setAvailablePad(tempLong);
- break;
- case "Hotstamp":
- todaysBean.setAvailableHotstamp(tempLong);
- break;
- case "OffsetCups":
- todaysBean.setAvailableOffsetCups(tempLong);
- break;
- case "OffsetNaps":
- todaysBean.setAvailableOffsetNaps(tempLong);
- break;
- case "Digital":
- todaysBean.setAvailableDigital(tempLong);
- break;
- default:
- log.error("When setting the DAY bean after updating the text fields, " +
- "could not determine which type of job.");
- }
- DayManager.update(todaysBean);
- updateRemainingFields();
- } catch (Exception e) {
- JOptionPane.showMessageDialog(null, e.toString(), "Error", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- }
- public void updateMaximumFields ()
- {
- tfAvailableScreen.setText(usFormat.format(todaysBean.getAvailableScreen()));
- tfAvailablePad.setText(usFormat.format(todaysBean.getAvailablePad()));
- tfAvailableHotstamp.setText(usFormat.format(todaysBean.getAvailableHotstamp()));
- tfAvailableOffsetCups.setText(usFormat.format(todaysBean.getAvailableOffsetCups()));
- tfAvailableOffsetNaps.setText(usFormat.format(todaysBean.getAvailableOffsetNaps()));
- tfAvailableDigital.setText(usFormat.format(todaysBean.getAvailableDigital()));
- updateScheduledFields();
- }
- public void updateRemainingFields ()
- {
- try {
- todaysBean.setRemainScreen(usFormat.parse(tfAvailableScreen.getText()).longValue() - scheduledScreen + earlyScreen);
- todaysBean.setRemainPad(usFormat.parse(tfAvailablePad.getText()).longValue() - scheduledPad + earlyPad);
- todaysBean.setRemainHotstamp(usFormat.parse(tfAvailableHotstamp.getText()).longValue() - scheduledHotstamp + earlyHotstamp);
- todaysBean.setRemainOffsetCups(usFormat.parse(tfAvailableOffsetCups.getText()).longValue() - scheduledOffsetCups + earlyOffsetCups);
- todaysBean.setRemainOffsetNaps(usFormat.parse(tfAvailableOffsetNaps.getText()).longValue() - scheduledOffsetNaps + earlyOffsetNaps);
- todaysBean.setRemainDigital(usFormat.parse(tfAvailableDigital.getText()).longValue() - scheduledDigital + earlyDigital);
- DayManager.update(todaysBean);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- lblRemainScreen.setText(usFormat.format(todaysBean.getRemainScreen()));
- lblRemainPad.setText(usFormat.format(todaysBean.getRemainPad()));
- lblRemainHotstamp.setText(usFormat.format(todaysBean.getRemainHotstamp()));
- lblRemainOffsetCups.setText(usFormat.format(todaysBean.getRemainOffsetCups()));
- lblRemainOffsetNaps.setText(usFormat.format(todaysBean.getRemainOffsetNaps()));
- lblRemainDigital.setText(usFormat.format(todaysBean.getRemainDigital()));
- updateToCompleteFields();
- }
- public void updateScheduledFields ()
- {
- scheduledScreen = 0;
- scheduledPad = 0;
- scheduledHotstamp = 0;
- scheduledOffsetCups = 0;
- scheduledOffsetNaps = 0;
- scheduledDigital = 0;
- List<OrderDetail> odList;
- for (Job job : jobList) {
- odList = job.getOrderDetailList();
- for (OrderDetail od : odList) {
- switch (od.getPrintType())
- {
- case SCREEN: scheduledScreen += od.getNumColors() * od.getQuantity(); break;
- case PAD: scheduledPad += od.getNumColors() * od.getQuantity(); break;
- case HOTSTAMP: scheduledHotstamp += od.getNumColors() * od.getQuantity(); break;
- case OFFSET_CUPS: scheduledOffsetCups += od.getNumColors() * od.getQuantity(); break;
- case OFFSET_NAPKINS: scheduledOffsetNaps += od.getNumColors() * od.getQuantity(); break;
- case DIGITAL: scheduledDigital += od.getQuantity(); break;
- default: log.error("Could not figure out PrintType!");
- }
- }
- }
- lblScheduledScreen.setText(usFormat.format(scheduledScreen));
- lblScheduledPad.setText(usFormat.format(scheduledPad));
- lblScheduledHotstamp.setText(usFormat.format(scheduledHotstamp));
- lblScheduledOffsetCups.setText(usFormat.format(scheduledOffsetCups));
- lblScheduledOffsetNaps.setText(usFormat.format(scheduledOffsetNaps));
- lblScheduledDigital.setText(usFormat.format(scheduledDigital));
- updateCompletedEarlyFields();
- }
- public void updateCompletedEarlyFields ()
- {
- earlyScreen = 0;
- earlyPad = 0;
- earlyHotstamp = 0;
- earlyOffsetCups = 0;
- earlyOffsetNaps = 0;
- earlyDigital = 0;
- List<OrderDetail> odList;
- for (Job job : jobList) {
- odList = job.getOrderDetailList();
- for (OrderDetail od : odList) {
- if (od.getItemCompleted() != null &&
- LocalDate.fromDateFields(od.getItemCompleted()).isBefore(DateManager.getLocalDate(getDisplayedDate())))
- {
- switch (od.getPrintType())
- {
- case SCREEN: earlyScreen += od.getNumColors() * od.getQuantity(); break;
- case PAD: earlyPad += od.getNumColors() * od.getQuantity(); break;
- case HOTSTAMP: earlyHotstamp += od.getNumColors() * od.getQuantity(); break;
- case OFFSET_CUPS: earlyOffsetCups += od.getNumColors() * od.getQuantity(); break;
- case OFFSET_NAPKINS: earlyOffsetNaps += od.getNumColors() * od.getQuantity(); break;
- case DIGITAL: earlyDigital += od.getNumColors() * od.getQuantity(); break;
- default: log.error("Could not figure out PrintType!");
- }
- }
- }
- }
- lblCompletedScreen.setText(usFormat.format(earlyScreen));
- lblCompletedPad.setText(usFormat.format(earlyPad));
- lblCompletedHotstamp.setText(usFormat.format(earlyHotstamp));
- lblCompletedOffsetCups.setText(usFormat.format(earlyOffsetCups));
- lblCompletedOffsetNaps.setText(usFormat.format(earlyOffsetNaps));
- lblCompletedDigital.setText(usFormat.format(earlyDigital));
- updateRemainingFields();
- }
- public void updateToCompleteFields ()
- {
- completedScreen = 0;
- completedPad = 0;
- completedHotstamp = 0;
- completedOffsetCups = 0;
- completedOffsetNaps = 0;
- completedDigital = 0;
- List<OrderDetail> odList;
- for (Job job : jobList) {
- odList = job.getOrderDetailList();
- for (OrderDetail od : odList) {
- if (od.getItemCompleted() != null)
- {
- switch (od.getPrintType())
- {
- case SCREEN: completedScreen += od.getNumColors() * od.getQuantity(); break;
- case PAD: completedPad += od.getNumColors() * od.getQuantity(); break;
- case HOTSTAMP: completedHotstamp += od.getNumColors() * od.getQuantity(); break;
- case OFFSET_CUPS: completedOffsetCups += od.getNumColors() * od.getQuantity(); break;
- case OFFSET_NAPKINS: completedOffsetNaps += od.getNumColors() * od.getQuantity(); break;
- case DIGITAL: completedDigital += od.getQuantity(); break;
- default: log.error("Could not figure out PrintType!");
- }
- }
- }
- }
- lblToCompleteScreen.setText(usFormat.format(scheduledScreen - completedScreen));
- lblToCompletePad.setText(usFormat.format(scheduledPad - completedPad));
- lblToCompleteHotstamp.setText(usFormat.format(scheduledHotstamp - completedHotstamp));
- lblToCompleteOffsetCups.setText(usFormat.format(scheduledOffsetCups - completedOffsetCups));
- lblToCompleteOffsetNaps.setText(usFormat.format(scheduledOffsetNaps - completedOffsetNaps));
- lblToCompleteDigital.setText(usFormat.format(scheduledDigital - completedDigital));
- updateGrandTotals();
- }
- private void updateDay(String dateStr) {
- thisDay = DateManager.stringToJDate(dateStr);
- monthView.ensureDateVisible(thisDay);
- monthView.setSelectionDate(thisDay);
- setDisplayedDate(dateStr);
- updateTreeTable(DateManager.getLocalDate(dateStr));
- timer.restart();
- }
- private class CheckStateChangeListener implements VetoableChangeListener{
- @Override
- public void vetoableChange(PropertyChangeEvent event) throws PropertyVetoException
- {
- if (event.getNewValue() != null) // user about to uncheck
- {
- log.debug("User is about to un-check an item.");
- if (JOptionPane.showConfirmDialog(rootPane,
- "Are you sure you want to re-set this item as being NOT completed?",
- "Item Not Completed?",
- JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION)
- throw new PropertyVetoException("user cancelled", event);
- }
- }
- }
- private class CheckTreeTableSelectionListener implements TreeSelectionListener, Runnable
- {
- private Map<DefaultMutableTreeTableNode, Boolean> status;
- @Override
- public void valueChanged (TreeSelectionEvent event)
- {
- if (status==null)
- {
- status = new HashMap<DefaultMutableTreeTableNode, Boolean>();
- SwingUtilities.invokeLater(this);
- }
- TreePath[] paths = event.getPaths();
- for (int i = 0; i < paths.length; i++){
- DefaultMutableTreeTableNode node = (DefaultMutableTreeTableNode)paths[i].getLastPathComponent();
- log.trace("Current path is " + paths[i].toString());
- boolean checked = event.isAddedPath(i);
- status.put(node, checked);
- setSelected(node, checked);
- }
- }
- private void setSelected(DefaultMutableTreeTableNode node, boolean checked)
- {
- log.debug("Inside setSelected");
- if(checked)
- status.put(node, true);
- else if(!status.containsKey(node))
- status.put(node, false);
- Enumeration<? extends MutableTreeTableNode> children = node.children();
- while (children.hasMoreElements()) {
- log.debug("Recursively calling setSelected");
- setSelected((DefaultMutableTreeTableNode) children.nextElement(), checked);
- }
- }
- @Override
- public void run()
- {
- for(Map.Entry<DefaultMutableTreeTableNode, Boolean> entry: status.entrySet()){
- if(entry.getKey().getParent() == null)
- {
- todaysBean.setDayCompleted(entry.getValue() ? new Timestamp(DateTimeUtils.currentTimeMillis()) : null);
- DayManager.setCompleted(todaysBean);
- flagDates();
- }
- if(entry.getKey().getUserObject() instanceof Job){
- try {
- Job job = (Job)entry.getKey().getUserObject();
- log.debug("Found Job! Setting its completed boolean as " + entry.getValue());
- job.setJobCompleted(entry.getValue() ? new Timestamp(DateTimeUtils.currentTimeMillis()) : null);
- JobManager.setCompleted(job);
- log.debug("Job: " + job.getCustomerName() + ", Order #: " + job.getJobId());
- } catch (Exception e) {
- // e.printStackTrace();
- }
- }else{
- try {
- OrderDetail od = (OrderDetail)entry.getKey().getUserObject();
- log.debug("Found OrderDetail! Setting its completed boolean as " + entry.getValue());
- od.setItemCompleted(entry.getValue() ? new Timestamp(DateTimeUtils.currentTimeMillis()) : null);
- // if (od.isItemCompleted()) od.setDateCompleted(new Timestamp(DateTimeUtils.currentTimeMillis()));
- // else od.setDateCompleted(null);
- OrderDetailManager.setItemCompleted(od);
- log.debug("Detail: " + od.getProductDetail() + ", Total Colors: " + (od.getQuantity() * od.getNumColors()));
- } catch (Exception e) {
- // e.printStackTrace();
- }
- }
- }
- status = null;
- updateToCompleteFields();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement