public ArrayList<MT950> Recon(String User, String Acct, String Vdate) {
		String SQL = "select * from mt950 where account='" + Acct
				+ "' and valuedate='" + Vdate + "'";
		String FC_SQL = "select * from fc_data a where a.num not IN " +
				"(select fc_data_id from corresponding) and a.valuedate='"+Vdate+"'";
		ArrayList<MT950> list = new ArrayList<MT950>();
		ResultSet rs = null;
		try {
			DBConn.Conn().executeUpdate("delete from corresponding where value_date='"+Vdate+"'");
			System.out.println("delete!");
			rs = DBConn.Conn().executeQuery(SQL);
			while (rs.next()) {
				MT950 mt950 = new MT950();
				mt950.setNumber(rs.getLong("num"));
				mt950.setAccount(rs.getString("account"));
				mt950.setValuedate(rs.getString("valuedate"));
				mt950.setAmount(rs.getString("amount"));
				mt950.setMa(rs.getString("ma"));
				mt950.setReference(rs.getString("reference"));

				FC_DATA fcdata = this.MatchData(mt950);
				mt950.setNumber2(fcdata.getNumber());
				mt950.setAccount2(fcdata.getAccount());
				mt950.setValuedate2(fcdata.getValuedate());
				mt950.setAmount2(fcdata.getAmount());
				mt950.setMa2(fcdata.getMa());
				mt950.setReference2(fcdata.getReference());
				list.add(mt950);
			}
			if (!ht_match.isEmpty()) {
				SimpleDateFormat df = new SimpleDateFormat(
						"yyyy-MM-dd HH:mm:ss");
				Set<Long> keys = ht_match.keySet();
				
				for (Long key : keys) {
					DBConn.Conn().executeUpdate(
							"insert into corresponding(mt950_id, fc_data_id,value_date,check_time,check_user) values('"
									+ key
									+ "','"
									+ ht_match.get(key)
									+ "','"
									+ Vdate
									+ "','"
									+ df.format(new Date())
									+ "','"
									+ User
									+ "')");
				}
				
				//add fc_data different 
				rs = DBConn.Conn().executeQuery(FC_SQL);
				while (rs.next()) {
					MT950 mt950 = new MT950();
					mt950.setNumber2(rs.getLong("num"));
					mt950.setAccount2(rs.getString("account"));
					mt950.setValuedate2(rs.getString("valuedate"));
					mt950.setAmount2(rs.getString("amount"));
					mt950.setMa2(rs.getString("ma"));
					mt950.setReference2(rs.getString("reference"));
					list.add(mt950);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				rs.close();
				DBConn.Conn().close();
				ht_match.clear();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return list;
	}