/**
* 方法名称:生成CSV文件
* 概要说明:
*
* @param results 结果集
* @param errors 错误结果集
* @param outPutPath 输出文件路径
* @param fileName 输出文件名称
*
* @return File CSV文件
*
*/
public File createCSVFile(List<Map<String, String>> results, List<Map<String, String>> errors, String outPutPath,
String fileName) {
File csvFile = null;
BufferedWriter csvFileOutputStream = null;
try {
File file = new File(outPutPath);
if (!file.exists()) {
file.mkdirs();
}
csvFile = File.createTempFile(fileName, “.csv”, new File(outPutPath));
csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), “UTF-8”),
1024);
csvFileOutputStream.write(“标识,编号,名称,路线编号,桩号,经度,纬度,起点桩号,起点经度,起点纬度,终点桩号,终点经度,终点纬度,行政区划代码,模糊匹配线路编号,备注”);
for (Map<String, String> result : results) {
csvFileOutputStream.newLine();
csvFileOutputStream.write(result.get(“BS”) == null ? “,” : result.get(“BS”).toString() + “,”);
csvFileOutputStream.write(result.get(“BH”) == null ? “,” : result.get(“BH”).toString() + “,”);
csvFileOutputStream.write(result.get(“MC”) == null ? “,” : result.get(“MC”).toString() + “,”);
csvFileOutputStream.write(result.get(“LXBH”) == null ? “,” : result.get(“LXBH”).toString() + “,”);
csvFileOutputStream.write(result.get(“GCZZH”) == null ? “,” : result.get(“GCZZH”).toString() + “,”);
csvFileOutputStream.write(result.get(“GCZJD”) == null ? “,” : result.get(“GCZJD”).toString() + “,”);
csvFileOutputStream.write(result.get(“GCZWD”) == null ? “,” : result.get(“GCZWD”).toString() + “,”);
csvFileOutputStream.write(result.get(“QDZH”) == null ? “,” : result.get(“QDZH”).toString() + “,”);
csvFileOutputStream.write(result.get(“QDJD”) == null ? “,” : result.get(“QDJD”).toString() + “,”);
csvFileOutputStream.write(result.get(“QDWD”) == null ? “,” : result.get(“QDWD”).toString() + “,”);
csvFileOutputStream.write(result.get(“ZDZH”) == null ? “,” : result.get(“ZDZH”).toString() + “,”);
csvFileOutputStream.write(result.get(“ZDJD”) == null ? “,” : result.get(“ZDJD”).toString() + “,”);
csvFileOutputStream.write(result.get(“ZDWD”) == null ? “,” : result.get(“ZDWD”).toString() + “,”);
csvFileOutputStream.write(result.get(“XZQH”) == null ? “,” : result.get(“XZQH”).toString() + “,”);
csvFileOutputStream
.write(result.get(“fuzzyLXBH”) == null ? “,” : result.get(“fuzzyLXBH”).toString() + “,”);
csvFileOutputStream.write(result.get(“REASON”) == null ? “” : result.get(“REASON”).toString() + “”);
}
csvFileOutputStream.newLine();
csvFileOutputStream.write(“errors”);
for (Map<String, String> error : errors) {
csvFileOutputStream.newLine();
csvFileOutputStream.write(error.get(“BS”) == null ? “,” : error.get(“BS”).toString() + “,”);
csvFileOutputStream.write(error.get(“BH”) == null ? “,” : error.get(“BH”).toString() + “,”);
csvFileOutputStream.write(error.get(“MC”) == null ? “,” : error.get(“MC”).toString() + “,”);
csvFileOutputStream.write(error.get(“LXBH”) == null ? “,” : error.get(“LXBH”).toString() + “,”);
csvFileOutputStream.write(error.get(“GCZZH”) == null ? “,” : error.get(“GCZZH”).toString() + “,”);
csvFileOutputStream.write(error.get(“GCZJD”) == null ? “,” : error.get(“GCZJD”).toString() + “,”);
csvFileOutputStream.write(error.get(“GCZWD”) == null ? “,” : error.get(“GCZWD”).toString() + “,”);
csvFileOutputStream.write(error.get(“QDZH”) == null ? “,” : error.get(“QDZH”).toString() + “,”);
csvFileOutputStream.write(error.get(“QDJD”) == null ? “,” : error.get(“QDJD”).toString() + “,”);
csvFileOutputStream.write(error.get(“QDWD”) == null ? “,” : error.get(“QDWD”).toString() + “,”);
csvFileOutputStream.write(error.get(“ZDZH”) == null ? “,” : error.get(“ZDZH”).toString() + “,”);
csvFileOutputStream.write(error.get(“ZDJD”) == null ? “,” : error.get(“ZDJD”).toString() + “,”);
csvFileOutputStream.write(error.get(“ZDWD”) == null ? “,” : error.get(“ZDWD”).toString() + “,”);
csvFileOutputStream.write(error.get(“XZQH”) == null ? “,” : error.get(“XZQH”).toString() + “,”);
csvFileOutputStream
.write(error.get(“fuzzyLXBH”) == null ? “,” : error.get(“fuzzyLXBH”).toString() + “,”);
csvFileOutputStream.write(error.get(“REASON”) == null ? “” : error.get(“REASON”).toString() + “”);
}
csvFileOutputStream.close();
} catch (Exception e) {
return null;
}
return csvFile;
}
/**
* <B>方法名称:</B>生成CSV文件<BR>
* <B>概要说明:</B><BR>
*
* @param results 结果集
* @param errors 错误结果集
* @param outPutPath 输出文件路径
* @param fileName 输出文件名称
*
* @return File CSV文件
*
*/
public File createDDLFile(List<Map<String, String>> results, List<Map<String, String>> errors, String outPutPath,
String fileName) {
File file = new File(outPutPath + fileName + ".txt");
try {
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
FileOutputStream fileOutputStream = new FileOutputStream(file);
PrintWriter printWriter = new PrintWriter(fileOutputStream);
StringBuffer sql = new StringBuffer();
for (int i = 0; i < results.size(); i++) {
try {
if (!results.get(i).containsKey("QDJD") || !results.get(i).containsKey("QDWD")
|| !results.get(i).containsKey("ZDJD") || !results.get(i).containsKey("ZDWD")) {
continue;
}
sql.setLength(0);
sql.append(" UPDATE STAKE_INFO SET ");
sql.append(" SSTARTLNG = "
+ (!results.get(i).containsKey("QDJD") ? "null" : results.get(i).get("QDJD").toString())
+ ",");
sql.append(" SSTARTLAT = "
+ (!results.get(i).containsKey("QDWD") ? "null" : results.get(i).get("QDWD").toString())
+ ",");
sql.append(" SENDLNG = "
+ (!results.get(i).containsKey("ZDJD") ? "null" : results.get(i).get("ZDJD").toString())
+ ",");
sql.append(" SENDLAT = "
+ (!results.get(i).containsKey("ZDWD") ? "null" : results.get(i).get("ZDWD").toString())
+ " ");
sql.append(" WHERE GCZBS = '" + results.get(i).get("BS").toString() + "' ");
sql.append(" AND SID = '" + results.get(i).get("BH").toString() + "' ");
sql.append(" AND SNAME = '" + results.get(i).get("MC").toString() + "' ");
sql.append(" AND SROADNUMBER = '" + results.get(i).get("LXBH").toString() + "';\n");
printWriter.write(sql.toString());
printWriter.flush();
} catch (Exception e) {
printWriter.write("//第" + i + "条数据异常,请检查!\n");
continue;
}
}
printWriter.close();
} catch (Exception e) {
return null;
}
return file;
}