public void RepairTransRecord(String table_postfix) {
		
		ReadRecordsFromDB();
		
		String[] keywords = trans_map.keySet().toArray(new String[0]);
		
		for (String keyword : keywords) {
			String[] arrs = keyword.split("\005");
			
			String market	= arrs[0];
			String code		= arrs[1];
			System.out.println("key-> " + market + "+" + code);
			
			int last_in_num = 0;
			
			StockPriceNew spn = new StockPriceNew(dbInst);
			
			for (TransDetailRecord record : trans_map.get(keyword)) {
				System.out.println("check -> before " + record.toString());
				
				int opt = record.opt;
				String sdate = record.date;
				
				PriceRecord pr = spn.GetStockPriceFromDB(market, code, sdate);
				
				if (opt == TransDetailRecord.OPT_IN) {
					record.deal_price = pr.open;
					record.num = (int)(record.deal_amount / record.deal_price);
					
					last_in_num = record.num;
				}
				else if (opt == TransDetailRecord.OPT_OUT) {
					record.deal_price = pr.close;
					if (last_in_num == 0) {
						log.error("last in num is 0 in " + table_postfix + "! code:" + code + " date:" + sdate);
						continue;
					}
					record.num = last_in_num;
					record.deal_amount = record.deal_price * record.num;
					record.deal_total = record.deal_amount;
					
					last_in_num = 0;
				}
				
				System.out.println("check -> after " + record.toString());
				
				String keyowrd = record.code + "\005" + record.date;
			    record_map.put(keyowrd, record);
			}
		}
		
		StoreRecordsToDB();
	}