Przeglądaj źródła

预算导入项目点功能调整

lfx 7 miesięcy temu
rodzic
commit
b043c7c1eb

+ 22 - 3
mjava-lanyun/src/main/java/com/malk/lanyun/listener/BudgetListener.java

@@ -88,6 +88,7 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
      */
     private void saveData() {
         System.out.println(list.size()+"条数据,开始存储数据库!");
+        List<Map> errorList=new ArrayList<>();
 
         String[] keys={"getJanuary","getFebruary","getMarch","getApril","getMay","getJune","getJuly","getAugust","getSeptember","getOctober","getNovember","getDecember"};
         String totalYearYs=null;
@@ -104,7 +105,7 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
                     data=data.replaceAll(",","");
                     System.out.println("月份:"+i+"科目编码:"+budget.getKmbm()+"数据值:"+data);
                     totalYs= NumberUtil.add((totalYs==null?"0":totalYs),data).toString();
-                    saveYearAndKmbmAndMonth(data,budget.getKmbm(),yearMonth,yearMonthStr,kmdl,kmmc);
+                    saveYearAndKmbmAndMonth(data,budget.getKmbm(),yearMonth,yearMonthStr,kmdl,kmmc,errorList);
                 }
             }
             if(totalYs!=null){
@@ -115,6 +116,14 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         if(totalYearYs!=null){
             saveYear(totalYearYs);
         }
+        for (Map map:errorList){
+            try {
+                operateData(map);
+            } catch (Exception e) {
+                System.out.println("重试错误!"+JSONObject.toJSONString(map));
+                e.printStackTrace();
+            }
+        }
         System.out.println("存储数据库成功!");
     }
 
@@ -147,7 +156,7 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
                 .build(), YDConf.FORM_OPERATION.upsert);
     }
 
-    private void saveYearAndKmbmAndMonth(String totalYs,String kmbm,String yearMonth,String yearMonthStr,String kmdl,String kmmc){
+    private void saveYearAndKmbmAndMonth(String totalYs,String kmbm,String yearMonth,String yearMonthStr,String kmdl,String kmmc,List<Map> errorList){
         Map map=new HashMap();
         map.put("selectField_ly7257rv",type); //项目/部门(成本分摊)
         map.put("textField_lw7sg8ho",yearStr); //年度
@@ -159,9 +168,19 @@ public class BudgetListener extends AnalysisEventListener<Budget> {
         map.put("numberField_lozfr2gg",totalYs); // 预算总额
         map.put("numberField_kuv80spl",totalYs); // 剩余预算
         map.put("selectField_lw8tykcu","可用"); // 状态
+        try {
+            operateData(map);
+        }catch (Exception e){
+            e.printStackTrace();
+            errorList.add(map);
+        }
+
+    }
+
+    private void operateData(Map map)throws Exception{
         ydClient.operateData(YDParam.builder().formUuid("FORM-9009F2638CD44FED8FF3065B44C78433WH6V").appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP").formDataJson(JSON.toJSONString(map))
-                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_ly7257rv, textField_lw7sg8hq, textField_lrni7snh",type,yearMonthStr,kmbm)))
+                .searchCondition(JSONObject.toJSONString(UtilMap.map("selectField_ly7257rv, textField_lw7sg8hq, textField_lrni7snh",type,map.get("textField_lw7sg8hq"),map.get("textField_lrni7snh"))))
                 .build(), YDConf.FORM_OPERATION.upsert);
     }