Parcourir la source

蓝云账龄表

fyz il y a 5 mois
Parent
commit
5823fc2ea9

+ 1 - 1
mjava-lanyun/src/main/java/com/malk/lanyun/schedule/ScheduleTask.java

@@ -135,7 +135,7 @@ public class ScheduleTask {
     /**
      * 每天晚上22点全量同步账龄表
      */
-    @Scheduled(cron = "0 0 22 * * ?")
+    @Scheduled(cron = "0 0 0/2 * * ?")
     void syncAgingTask(){
         log.info("全量同步账龄表");
         fService.syncAgingSchedule();

+ 17 - 8
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/FImplService.java

@@ -1,5 +1,6 @@
 package com.malk.lanyun.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.malk.lanyun.service.FService;
 import com.malk.server.aliwork.YDConf;
@@ -143,20 +144,20 @@ private YDService ydService;
 
         // 账龄表子表: 1 开票周期, 开票周期-文本, 开票内容, 含税单价, 数量, 税率
         List<String> compId_detail = UtilList.asList("dateField_m25j5gxu", "textField_m25j5gxv", "textField_lvdnme0u", "numberField_lvdnme0w", "numberField_lvdnme0x", "numberField_lvdnme0y");
-        // 账龄表子表: 2 含税小计, 税额, 无税金额, 差异说明, 已回款金额, 回款周期, 回款周期-文本
-        compId_detail.addAll(Arrays.asList("numberField_lvdnme0z", "numberField_lvdnme10", "numberField_lvdnme11", "textareaField_m25j5gyc", "numberField_lvg084l9", "dateField_m0dp1g0e", "textField_m25j5gyh"));
+        // 账龄表子表: 2 含税小计, 税额, 无税金额, 差异说明, 已回款金额, 回款周期, 回款周期-文本, 子表流水号
+        compId_detail.addAll(Arrays.asList("numberField_lvdnme0z", "numberField_lvdnme10", "numberField_lvdnme11", "textareaField_m25j5gyc", "numberField_lvg084l9", "dateField_m0dp1g0e", "textField_m25j5gyh", "textField_m5297e3q"));
         // 账龄表子表: 匹配来源数据表
         Map compIds_tab = UtilMap.map("tableField_lvc9x4vt, tableField_lvd8pp44, tableField_lvdnme13",
                 // 大业主对应子表
-                Arrays.asList("dateField_lw5uybgq", "dateField_lw5uybgq_wb", "textField_lvd8pp2t", "numberField_lvd8pp2v", "numberField_lvd8pp2w", "numberField_lvd8pp2x", "numberField_lvd8pp2y", "numberField_lvd8pp2z", "numberField_lvd8pp30", "textField_lvdnme0g", "numberField_lvg084lb", "dateField_m0f55roc", "dateField_m0f55roc_wb"),
+                Arrays.asList("dateField_lw5uybgq", "dateField_lw5uybgq_wb", "textField_lvd8pp2t", "numberField_lvd8pp2v", "numberField_lvd8pp2w", "numberField_lvd8pp2x", "numberField_lvd8pp2y", "numberField_lvd8pp2z", "numberField_lvd8pp30", "textField_lvdnme0g", "numberField_lvg084lb", "dateField_m0f55roc", "dateField_m0f55roc_wb", "textField_lvdojfup"),
                 // 工程订单对应子表
-                Arrays.asList("dateField_lvd8pp45", "ateField_lvd8pp45_wb", "textField_lvd8pp3w", "numberField_lvd8pp3y", "numberField_lvd8pp3z", "numberField_lvd8pp40", "numberField_lvd8pp41", "numberField_lvd8pp42", "numberField_lvd8pp43", "textField_lvdnme0h", "numberField_lvg084l9", "dateField_m0dp1g0e", "dateField_m0dp1g0e_wb"),
+                Arrays.asList("dateField_lvd8pp45", "ateField_lvd8pp45_wb", "textField_lvd8pp3w", "numberField_lvd8pp3y", "numberField_lvd8pp3z", "numberField_lvd8pp40", "numberField_lvd8pp41", "numberField_lvd8pp42", "numberField_lvd8pp43", "textField_lvdnme0h", "numberField_lvg084l9", "dateField_m0dp1g0e", "dateField_m0dp1g0e_wb", "textField_lvdojfur"),
                 // 小业主\日报一次性对应子表
-                Arrays.asList("dateField_lvdnme0t", "dateField_lvdnme0t_wb", "textField_lvdnme0u", "numberField_lvdnme0w", "numberField_lvdnme0x", "numberField_lvdnme0y", "numberField_lvdnme0z", "numberField_lvdnme10", "numberField_lvdnme11", "textField_lvdnme12", "numberField_lvg084la", "dateField_m0f55roe", "dateField_m0f55roe_wb"));
+                Arrays.asList("dateField_lvdnme0t", "dateField_lvdnme0t_wb", "textField_lvdnme0u", "numberField_lvdnme0w", "numberField_lvdnme0x", "numberField_lvdnme0y", "numberField_lvdnme0z", "numberField_lvdnme10", "numberField_lvdnme11", "textField_lvdnme12", "numberField_lvg084la", "dateField_m0f55roe", "dateField_m0f55roe_wb", "textField_lvdojfus"));
 
         // 明细处理为主表记录, 以明细形式写入
         for (Map formData : dataList) {
-
+            //子表唯一标识
             String compId_type = UtilMap.getString(compIds, UtilMap.getString(formData, "selectField_lvc9x4vn"));
             List<Map> details = UtilMap.getList(formData, compId_type);
             log.info("账龄表同步, {}, {}, {}", UtilMap.getString(formData, "selectField_lvc9x4vn"), formData.get("formInstanceId"), details.size());
@@ -176,7 +177,9 @@ private YDService ydService;
             for (Map detail : details) {
                 // 唯一条件: 单据编号 + 业务类型 + 开票周期
                 String compId_date = (String) UtilMap.getList(compIds_tab, compId_type).get(0);
+                String uuid_filed = (String) UtilMap.getList(compIds_tab, compId_type).get(13);
                 long kpzq = UtilMap.getLong(detail, compId_date);
+                String uuid = UtilMap.getString(detail, uuid_filed);
                 if (kpzq == 0) {
                     continue;
                 }
@@ -202,9 +205,15 @@ private YDService ydService;
                     }
                 }
                 String kpzq_wb = UtilDateTime.format(new Date(kpzq), "yyyy-MM");
-                List<Map> searchCondition = Arrays.asList(YDConf.searchCondition_TextFiled("textField_lvdosccc", UtilMap.getString(formData, "textField_lvdosccc"), "eq"),
+                List<Map> searchCondition = new ArrayList<>();
+                searchCondition.addAll(Arrays.asList(
+                        YDConf.searchCondition_TextFiled("textField_lvdosccc", UtilMap.getString(formData, "textField_lvdosccc"), "eq"),
                         YDConf.searchCondition_TextFiled("selectField_lvc9x4vn", UtilMap.getString(formData, "selectField_lvc9x4vn"), "eq"),
-                        YDConf.searchCondition_TextFiled("textField_m25j5gxv", kpzq_wb, "eq"));
+                        YDConf.searchCondition_TextFiled("textField_m25j5gxv", kpzq_wb, "eq")
+                ));
+                if (ObjectUtil.isNotNull(uuid)){
+                    searchCondition.add(YDConf.searchCondition_TextFiled("textField_m5297e3q", uuid, "eq"));
+                }
                 // 回款状态与未回款金额记录, 用于催款函查询
                 float figure = UtilMap.getFloat(dataForm, "numberField_lvdnme0z") - UtilMap.getFloat(dataForm, "numberField_lvg084l9");
                 dataForm.put("radioField_m4qrz687", figure == 0 ? "是" : "否");

+ 1 - 1
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/TimerServiceImpl.java

@@ -1060,7 +1060,7 @@ public class TimerServiceImpl implements TimerService {
         ydClient.operateData(YDParam.builder()
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                .formInstanceId(params.get("formInstanceId").toString())
+                .formInstanceId(params.get("formInstId").toString())
                 .updateFormDataJson(JSON.toJSONString(UtilMap.map("radioField_m38dy26d","是")))
                 .build(), YDConf.FORM_OPERATION.update);
     }