packagecom.sitinspring;importjava.io.BufferedWriter;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;importjava.util.Hashtable;importjava.util.List;/*** 货栈进货记录
*
*@author: sitinspring(junglesong@gmail.com)
* @date: 2007-11-25*/publicclassStockHouseMemo {//水果批次记录privateListfruits;//统计信息privateHashtablefruitSumaries;/*** 添加水果批次记录
*
*@paramfruit*/publicvoidaddFruit(Fruit fruit) {//添加批次记录if(fruits==null) {
fruits=newArrayList();
}
fruits.add(fruit);//添加统计记录if(fruitSumaries==null) {
fruitSumaries=newHashtable();
}
String fruitType=fruit.getType();//取出同类型的统计信息FruitSumary sumaryFound=findSummaryByType(fruitType);if(sumaryFound!=null) {//有记录sumaryFound.setCount(sumaryFound.getCount()+fruit.getCount());
sumaryFound.setPrice(sumaryFound.getPrice()+fruit.getUnitPrice()*fruit.getCount());
}else{//无记录fruitSumaries.put(fruitType,newFruitSumary(fruit.getType(),
fruit.getCount(), fruit.getUnitPrice()*fruit.getCount()));
}
}/*** 取得和fruitInput类型对应的统计信息记录
*
*@paramfruitInput
*@return*/privateFruitSumary findSummaryByType(String fruitType) {if(fruitSumaries.containsKey(fruitType)){returnfruitSumaries.get(fruitType);
}returnnull;
}/*** 取得水果进货详细信息
*
*@return*/publicString getDetailFruitInfo() {
String retval="----------水果进货详细信息-----------\r\n";for(Fruit fruit : fruits) {
retval+=fruit;//等于fruit.toString()}
retval+="----------------------------------------";returnretval;
}/*** 取得水果进货统计信息
*
*@return*/publicString getSummaryFruitInfo() {
String retval="----------水果进货统计信息-----------\r\n";for(FruitSumary fruitSumary : fruitSumaries.values()) {
retval+=fruitSumary;//等于fruitSumary.toString()}
retval+="----------------------------------------";returnretval;
}publicvoidwriteToFile(String fileName) {try{
BufferedWriter out=newBufferedWriter(newFileWriter(fileName));
String outputText=getDetailFruitInfo()+"\r\n";
outputText+=getSummaryFruitInfo();
out.write(outputText);
out.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}