Adding pick maintenance program source code.
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
package pickMaint;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
|
||||
/**
|
||||
* This class implements all abstract methods in AbstractTableModel as needed to display LoomDSRecords properly.
|
||||
*
|
||||
* @author Wesley Ray
|
||||
*/
|
||||
public class LoomDSTableModel extends AbstractTableModel {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static final String [] COL_HEADERS = {"Loom", "Weaver", "Style", "Hours", "Picks", "Picks Possible", "Down Time", "Sample Cut"};
|
||||
|
||||
private LoomDSRecord[] data;
|
||||
private Integer[] sampleHighlight;
|
||||
private Integer[] zeroHighlight;
|
||||
|
||||
/**
|
||||
* Updates the data to be displayed by the table model.
|
||||
* Also builds an array of specific rows to highlight in a different color due to them being sample cut-ins
|
||||
* @param data The LoomDSRecord[] to display
|
||||
*/
|
||||
public void loadTable(LoomDSRecord[] data){
|
||||
this.data = data;
|
||||
|
||||
ArrayList<Integer> q = new ArrayList<Integer>();
|
||||
for(LoomDSRecord r : data){
|
||||
if(r.getLdStyle().trim().equalsIgnoreCase("SAM"))
|
||||
q.add(r.getLoomNumber());
|
||||
}
|
||||
sampleHighlight = q.toArray(new Integer[q.size()]);
|
||||
|
||||
q = new ArrayList<Integer>();
|
||||
for(LoomDSRecord r : data){
|
||||
float derp = (float) r.getPicks() / (float) r.getMaxPicks();
|
||||
if(derp <= 0.75 && r.getWeaverNumber() != 700 && r.getWeaverNumber() != 701 && r.getWeaverNumber() != 702)
|
||||
q.add(r.getLoomNumber());
|
||||
}
|
||||
zeroHighlight = q.toArray(new Integer[q.size()]);
|
||||
|
||||
this.fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the given row number is to be highlighted for being a sample cut
|
||||
* @param row - the row number to check
|
||||
* @return true/false if row contains sample cut
|
||||
*/
|
||||
public boolean highlightSample(int row){
|
||||
int target = data[row].getLoomNumber();
|
||||
for(int i : sampleHighlight){
|
||||
if(i == target)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the given row number is to be highlighted for having zero picks
|
||||
* @param row - the row number to check
|
||||
* @return true/false
|
||||
*/
|
||||
public boolean highlightZero(int row){
|
||||
int target = data[row].getLoomNumber();
|
||||
for(int i : zeroHighlight){
|
||||
if(i == target)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns bonus status for a given row
|
||||
* @param row - the row to check
|
||||
* @return Bonus or not?
|
||||
*/
|
||||
public boolean bonus(int row){
|
||||
return data[row].isBonus();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRowCount() {
|
||||
return data.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getColumnCount() {
|
||||
return COL_HEADERS.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getColumnName(int column) {
|
||||
return COL_HEADERS[column];
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||
switch(columnIndex){
|
||||
case 0:
|
||||
return data[rowIndex].getLoomNumber();
|
||||
case 1:
|
||||
return data[rowIndex].getWeaverNameDisplay();
|
||||
case 2:
|
||||
return data[rowIndex].getLdStyle();
|
||||
case 3:
|
||||
return data[rowIndex].getHours();
|
||||
case 4:
|
||||
return data[rowIndex].getPicks();
|
||||
case 5:
|
||||
return data[rowIndex].getMaxPicks() + " (+" + (data[rowIndex].getMaxPicks() - data[rowIndex].getPicks()) + ")";
|
||||
case 6:
|
||||
return data[rowIndex].getformattedDowntimeReason();
|
||||
case 7:
|
||||
return data[rowIndex].getFormattedCutNumber();
|
||||
}
|
||||
return null; //required to compile
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user