|
@@ -7,8 +7,11 @@ import com.winhc.task.bean.Company;
|
|
import com.winhc.task.bean.CompanyOut;
|
|
import com.winhc.task.bean.CompanyOut;
|
|
import com.winhc.task.common.CompanyChangeArgs;
|
|
import com.winhc.task.common.CompanyChangeArgs;
|
|
import com.winhc.task.util.CsvToXlsxUtil;
|
|
import com.winhc.task.util.CsvToXlsxUtil;
|
|
|
|
+import com.winhc.task.util.ZipUtils;
|
|
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
|
|
+import java.io.FileOutputStream;
|
|
|
|
+import java.io.IOException;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -19,6 +22,7 @@ import java.util.stream.Collectors;
|
|
import static com.winhc.task.common.Constant.*;
|
|
import static com.winhc.task.common.Constant.*;
|
|
import static com.winhc.task.util.CsvToXlsxUtil.jsonToXLSxNewCompany;
|
|
import static com.winhc.task.util.CsvToXlsxUtil.jsonToXLSxNewCompany;
|
|
import static com.winhc.task.util.CsvToXlsxUtil.jsonToXLSxChange;
|
|
import static com.winhc.task.util.CsvToXlsxUtil.jsonToXLSxChange;
|
|
|
|
+import static com.winhc.task.util.DateUtils.getYesterday_ymd;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author π
|
|
* @author π
|
|
@@ -28,28 +32,34 @@ import static com.winhc.task.util.CsvToXlsxUtil.jsonToXLSxChange;
|
|
public class TransToExcelNewCompany {
|
|
public class TransToExcelNewCompany {
|
|
|
|
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
-
|
|
|
|
- String ds = "20221114";
|
|
|
|
|
|
+ public static void main(String[] args) throws IOException {
|
|
|
|
+ String ds = getYesterday_ymd();
|
|
|
|
+ //ds = "20221114";
|
|
|
|
+ String outPathPre = "D:\\tmp\\data\\" + ds + "\\";
|
|
|
|
+ File file = new File(outPathPre);
|
|
|
|
+ //如果文件夹不存在则会创建
|
|
|
|
+ if (!file.exists()) file.mkdirs();
|
|
//单个变更维度
|
|
//单个变更维度
|
|
//toTrans(ds,"company_equity_info");
|
|
//toTrans(ds,"company_equity_info");
|
|
- //toTrans(ds,"company");
|
|
|
|
//新公司
|
|
//新公司
|
|
- newCompanyToExcel(ds);
|
|
|
|
|
|
+ newCompanyToExcel(outPathPre, ds);
|
|
//变更
|
|
//变更
|
|
- changeToExcel(ds);
|
|
|
|
|
|
+ changeToExcel(outPathPre, ds);
|
|
|
|
+ //压缩文件
|
|
|
|
+ FileOutputStream outZipPath = new FileOutputStream(new File("D:\\tmp\\data\\" + ds + ".zip"));
|
|
|
|
+ ZipUtils.toZip("D:\\tmp\\data\\" + ds, outZipPath, true);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- public static void changeToExcel(String ds) {
|
|
|
|
|
|
+ public static void changeToExcel(String outPathPre, String ds) {
|
|
Map<String, CompanyChangeArgs> exportArgs = CompanyChangeArgs.EXPORT_ARGS;
|
|
Map<String, CompanyChangeArgs> exportArgs = CompanyChangeArgs.EXPORT_ARGS;
|
|
exportArgs.keySet().forEach(tn -> {
|
|
exportArgs.keySet().forEach(tn -> {
|
|
- toTrans(ds, tn);
|
|
|
|
|
|
+ toTrans(outPathPre, ds, tn);
|
|
});
|
|
});
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- private static void toTrans(String ds, String tn) {
|
|
|
|
|
|
+ private static void toTrans(String outPathPre, String ds, String tn) {
|
|
Map<String, CompanyChangeArgs> exportArgs = CompanyChangeArgs.EXPORT_ARGS;
|
|
Map<String, CompanyChangeArgs> exportArgs = CompanyChangeArgs.EXPORT_ARGS;
|
|
CompanyChangeArgs args = exportArgs.get(tn);
|
|
CompanyChangeArgs args = exportArgs.get(tn);
|
|
Function<JSONObject, JSONObject> handles = args.getHandles();
|
|
Function<JSONObject, JSONObject> handles = args.getHandles();
|
|
@@ -57,11 +67,12 @@ public class TransToExcelNewCompany {
|
|
.map(Collections::singletonList)
|
|
.map(Collections::singletonList)
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
String objectName = "anshuo/dim_change/" + ds + "/" + tn + ".json";
|
|
String objectName = "anshuo/dim_change/" + ds + "/" + tn + ".json";
|
|
- String outPath = "D:\\tmp\\data\\change_" + tn + ".xlsx";
|
|
|
|
- jsonToXLSxChange(tn, outPath, objectName, company_head_list, args.getClazz(),handles);
|
|
|
|
|
|
+ //String outPath = "D:\\tmp\\data\\change_" + tn + ".xlsx";
|
|
|
|
+ String outPath = outPathPre + "change_" + tn + ".xlsx";
|
|
|
|
+ jsonToXLSxChange(tn, outPath, objectName, company_head_list, args.getClazz(), handles);
|
|
}
|
|
}
|
|
|
|
|
|
- public static void newCompanyToExcel(String ds) {
|
|
|
|
|
|
+ public static void newCompanyToExcel(String outPathPre, String ds) {
|
|
|
|
|
|
List<List<String>> company_head_list = Arrays.stream(company_head.split("@"))
|
|
List<List<String>> company_head_list = Arrays.stream(company_head.split("@"))
|
|
.map(Collections::singletonList)
|
|
.map(Collections::singletonList)
|
|
@@ -76,7 +87,6 @@ public class TransToExcelNewCompany {
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
String objectName = "anshuo/new_company/" + ds + "/new_company.json";
|
|
String objectName = "anshuo/new_company/" + ds + "/new_company.json";
|
|
- String outPathPre = "D:\\tmp\\data\\";
|
|
|
|
|
|
|
|
jsonToXLSxNewCompany(outPathPre, objectName, company_head_list, holder_head_list, staff_head_list);
|
|
jsonToXLSxNewCompany(outPathPre, objectName, company_head_list, holder_head_list, staff_head_list);
|
|
}
|
|
}
|