xufei 2 jaren geleden
bovenliggende
commit
00731a25fe

+ 96 - 0
src/main/java/com/winhc/task/bean/CompanyDevOut.java

@@ -0,0 +1,96 @@
+package com.winhc.task.bean;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * company
+ * 测试对接
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ExcelIgnoreUnannotated
+public class CompanyDevOut {
+
+    @ExcelProperty("自有企业id")
+    private String company_id;
+    @ExcelProperty("公司名称")
+    private String name;
+    @ExcelProperty("公司历史名称")
+    private String history_names;
+    @ExcelProperty("注册号")
+    private String reg_number;
+    @ExcelProperty("公司类型")
+    private String company_org_type;
+    @ExcelProperty("注册地址")
+    private String reg_location;
+    @ExcelProperty("注册时间")
+    private String estiblish_time;
+    @ExcelProperty("营业时间开始日期")
+    private String from_time;
+    @ExcelProperty("营业时间结束日期")
+    private String to_time;
+    @ExcelProperty("经营范围")
+    private String business_scope;
+    @ExcelProperty("登记机关")
+    private String reg_institute;
+    @ExcelProperty("核准日期")
+    private String approved_time;
+    @ExcelProperty("企业状态")
+    private String reg_status;
+    @ExcelProperty("注册资本")
+    private String reg_capital;
+    @ExcelProperty("组织机构代码")
+    private String org_number;
+    @ExcelProperty("组织机构代码批准单位")
+    private String org_approved_institute;
+    @ExcelProperty("机构类型")
+    private String company_type;
+    @ExcelProperty("统一信用代码")
+    private String credit_code;
+    @ExcelProperty("省份code")
+    private String province_code;
+    @ExcelProperty("市code")
+    private String city_code;
+    @ExcelProperty("县区code")
+    private String county_code;
+    @ExcelProperty("注册资本金额")
+    private String reg_capital_amount;
+    @ExcelProperty("注册资本币种")
+    private String reg_capital_currency;
+    @ExcelProperty("实收资本金额")
+    private String actual_capital_amount;
+    @ExcelProperty("实收资本币种")
+    private String actual_capital_currency;
+    @ExcelProperty("公司注册状态标准化")
+    private String reg_status_std;
+    @ExcelProperty("职工参保人数")
+    private String social_security_staff_num;
+    @ExcelProperty("注销时间")
+    private String cancel_date;
+    @ExcelProperty("注销原因")
+    private String cancel_reason;
+    @ExcelProperty("吊销时间")
+    private String revoke_date;
+    @ExcelProperty("吊销原因")
+    private String revoke_reason;
+//    @ExcelProperty("邮箱")
+//    private String emails;
+//    @ExcelProperty("电话")
+//    private String phones;
+    @ExcelProperty("创建时间")
+    private String create_time;
+    @ExcelProperty("是否删除")
+    private String deleted;
+    @ExcelProperty("更新时间")
+    private String update_time;
+    @ExcelIgnore
+    private String legal_entities;
+    @ExcelProperty("法人信息")
+    private String legal_entity_name;
+}

+ 29 - 0
src/main/java/com/winhc/task/common/CompanyChangeArgs.java

@@ -78,6 +78,35 @@ public class CompanyChangeArgs<T> {
                 , CompanyOut.class
                 , company_head
         ));
+        a.put("company_dev", new CompanyChangeArgs(
+                Arrays.asList("company_id", "name", "history_names", "reg_number", "company_org_type", "reg_location"
+                        , "estiblish_time", "from_time", "to_time", "business_scope", "reg_institute", "approved_time"
+                        , "reg_status", "reg_capital", "org_number", "org_approved_institute", "company_type"
+                        , "credit_code", "province_code", "city_code", "county_code", "reg_capital_amount"
+                        , "reg_capital_currency", "actual_capital_amount", "actual_capital_currency", "reg_status_std"
+                        , "social_security_staff_num", "cancel_date", "cancel_reason", "revoke_date", "revoke_reason"
+                        , "create_time", "deleted", "update_time", "legal_entity_name")
+                , (j) -> {
+            JSONObject tj = (JSONObject) j;
+            JSONArray legals = tj.getJSONArray("legal_entities");
+            String legal_entity_name = "";
+            if (legals != null) {
+                legal_entity_name = legals.toJavaList(JSONObject.class)
+                        .stream()
+                        .filter(j2 -> "0".equals(j2.getString("deleted")))
+                        .map(j2 -> j2.getString("name"))
+                        .filter(StringUtils::isNotBlank)
+                        .distinct()
+                        .collect(Collectors.joining("、"));
+            }
+            tj.put("legal_entity_name", legal_entity_name);
+            return tj;
+        }
+                , Arrays.asList("name", "reg_location", "business_scope", "approved_time", "reg_capital_amount"
+                , "reg_status_std", "deleted", "legal_entities")
+                , CompanyDevOut.class
+                , company_head
+        ));
         a.put("company_holder", new CompanyChangeArgs(
                 Arrays.asList("company_id", "company_name", "holder_name", "holder_type", "amount", "capital"
                         , "capital_actual", "percent", "create_time", "update_time", "deleted")

+ 1 - 1
src/test/java/com/winhc/task/DataWorksSummaryJob.java

@@ -35,7 +35,7 @@ public class DataWorksSummaryJob {
 
         //确定重跑集合(集合为空跑全量)
 
-        List<String> add = Arrays.asList("company_branch");
+        List<String> add = Arrays.asList("company_judicial_assistance");
         //List<String> add = Arrays.asList("company_copyright_reg","company_copyright_works");
         //List<String> add = Arrays.asList("company_patent","company_copyright_reg","company_copyright_works");
 

+ 7 - 4
src/test/java/com/winhc/task/FileSplitV2.java

@@ -13,9 +13,9 @@ import java.io.*;
  */
 public class FileSplitV2 {
     public static void main(String[] args) {
+        String prefixPath = "D:\\data\\split5\\";
         try {
-            String path = "D:\\Soft\\odpscmd_public\\bin\\out_export_company_data_shanxi_data_final_1112.json";
-            String prefixPath = "D:\\data\\split4\\";
+            String path = "D:\\Soft\\odpscmd_public\\bin\\out_export_company_data_shanxi_data_final_1206.json";
             File file = new File(path);
             InputStreamReader r = new InputStreamReader(new FileInputStream(file));
             BufferedReader reader = new BufferedReader(r);
@@ -43,8 +43,11 @@ public class FileSplitV2 {
 //                content = content.substring(content.indexOf(",") + 1);
 
                 JSONObject data = JSON.parseObject(content);
-                String a = data.getString("city_name");
+                String a = data.getString("area");
 
+                if(StringUtils.isBlank(a)){
+                    continue;
+                }
                 if (a.equals(lastA)) {
                     sb.append(content).append("\n");
                 } else {
@@ -78,6 +81,6 @@ public class FileSplitV2 {
         }
 
         //转换格式
-        TransToExcelV2.toExcel();
+        TransToExcelV2.toExcel(prefixPath);
     }
 }

+ 2 - 2
src/test/java/com/winhc/task/TransToExcelNewCompany.java

@@ -35,9 +35,9 @@ public class TransToExcelNewCompany {
 
 
         //全部任务
-        run();
+        //run();
         //映射跑
-        //mapping_run();
+        mapping_run();
     }
 
     private static void mapping_run() {

+ 5 - 6
src/test/java/com/winhc/task/TransToExcelV2.java

@@ -15,19 +15,18 @@ import java.util.stream.Collectors;
  */
 public class TransToExcelV2 {
     public static void main(String[] args) {
-
-        toExcel();
-
+        String path = "D:\\data\\split5";
+        toExcel(path);
     }
 
-    public static void toExcel() {
+    public static void toExcel(String prefixPath) {
         String head = "企业名称,法定代表人,注册资本,成立日期,注吊销日期,登记状态,工商注册号,机构组织代码,统一社会信用代码,纳税人识别号,企业类型,所属行业,营业期限,核准日期,登记机关,省份代码,所属地区,详细地址,注册地址城市,经营范围,电话,更多电话,邮箱";
         List<List<String>> headList = Arrays.stream(head.split(","))
                 .map(Collections::singletonList)
                 .collect(Collectors.toList());
 
-        String path = "D:\\data\\split4";        //要遍历的路径
-        File file = new File(path);        //获取其file对象
+        //String path = "D:\\data\\split5";        //要遍历的路径
+        File file = new File(prefixPath);        //获取其file对象
         File[] fs = file.listFiles();    //遍历path下的文件和目录,放在File数组中
         for (File f : fs) {                    //遍历File[]数组
             String csvFile = f.getAbsolutePath();

+ 60 - 0
src/test/java/com/winhc/task/TransToExcelV3.java

@@ -0,0 +1,60 @@
+package com.winhc.task;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
+import com.winhc.task.bean.Company;
+import com.winhc.task.bean.CompanyDevOut;
+import com.winhc.task.common.CompanyChangeArgs;
+import com.winhc.task.util.CsvToXlsxUtil;
+import com.winhc.task.util.EasyExcelUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import static com.winhc.task.util.CsvToXlsxUtil.jsonToXLSxChange;
+
+/**
+ * @author π
+ * @Description: 数据测试
+ * @date 2022/11/7 16:10
+ */
+public class TransToExcelV3 {
+    private static final Logger log = LoggerFactory.getLogger(TransToExcelV3.class);
+
+    public static void main(String[] args) {
+        String tn = "company_dev";
+        toExcel(tn);
+    }
+
+    public static void toExcel(String tn) {
+        //输出表头
+        String company_head = "自有企业id@公司名称@公司历史名称@注册号@公司类型@注册地址@注册时间@营业时间开始日期@营业时间结束日期" +
+                "@经营范围@登记机关@核准日期@企业状态@注册资本@组织机构代码@组织机构代码批准单位@机构类型@统一信用代码@省份code@市code@县区code@注册资本金额" +
+                "@注册资本币种@实收资本金额@实收资本币种@公司注册状态标准化@职工参保人数@注销时间@注销原因@吊销时间@吊销原因@创建时间@是否删除@更新时间@法人信息";
+
+        List<List<String>> headList = Arrays.stream(company_head.split("@"))
+                .map(Collections::singletonList)
+                .collect(Collectors.toList());
+
+        Map<String, CompanyChangeArgs> exportArgs = CompanyChangeArgs.EXPORT_ARGS;
+        CompanyChangeArgs args = exportArgs.get(tn);
+        Function<JSONObject, JSONObject> handles = args.getHandles();
+
+        String objectName = "tmp/test/company.json";
+        String outPathPre = "D:\\tmp\\data\\";
+        String outPath = outPathPre + "company_agg.xlsx";
+        jsonToXLSxChange(tn, outPath, objectName, headList, args.getClazz(), handles, null);
+
+    }
+
+}
+
+