From f2b2fd53f2b9958d7a172b0356d294f1235e79ab Mon Sep 17 00:00:00 2001 From: YXY <932687738@qq.com> Date: Sun, 30 Jul 2023 21:09:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9E=E4=B9=A6=E5=AD=97=E6=AE=B5=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/common/utils/DateUtils.java | 2 +- .../task/CJT/CJTCreateLarkTableJob.java | 51 +++++++++++++------ .../task/CJT/SyncAccountsJobAbstract.java | 4 ++ 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index 4beefda..13e3cd3 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -23,7 +23,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { public static String YYYY_MM = "yyyy-MM"; public static String YYYY_MM_DD = "yyyy-MM-dd"; - public static String YYYY_MM_DD_SECOND = "yyyy/MM/dd"; + public static String YYYY_MM_DD_SECOND = "yyyy/MM/dd HH:mm"; public static String YYYYMM = "yyyyMM"; public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java index 31605b5..36e0e79 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/CJTCreateLarkTableJob.java @@ -2,6 +2,7 @@ package com.ruoyi.quartz.task.CJT; import com.lark.oapi.service.bitable.v1.enums.AppTableCreateHeaderTypeEnum; import com.lark.oapi.service.bitable.v1.model.AppTableCreateHeader; +import com.lark.oapi.service.bitable.v1.model.AppTableFieldProperty; import com.lark.oapi.service.bitable.v1.model.CreateAppRespBody; import com.lark.oapi.service.bitable.v1.model.CreateAppTableRespBody; import com.ruoyi.common.enums.AppType; @@ -112,7 +113,7 @@ public class CJTCreateLarkTableJob{ buildHeader("产品", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("规格型号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("生产单位", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("数量", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), buildHeader("备注1", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("客户", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("合并字段", AppTableCreateHeaderTypeEnum.TEXT) @@ -124,9 +125,9 @@ public class CJTCreateLarkTableJob{ buildHeader("存货", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("规格型号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("采购单位", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("数量", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), buildHeader("单据日期", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("创建时间", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("创建时间", AppTableCreateHeaderTypeEnum.DATETIME,buildProperty(DateUtils.YYYY_MM_DD_SECOND)), buildHeader("单据编号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("供应商", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("单据状态", AppTableCreateHeaderTypeEnum.TEXT), @@ -142,7 +143,7 @@ public class CJTCreateLarkTableJob{ buildHeader("存货编码", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("存货", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("规格型号", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("数量", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), buildHeader("采购单位", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("预计到货日期", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("销售订单号", AppTableCreateHeaderTypeEnum.TEXT), @@ -153,7 +154,7 @@ public class CJTCreateLarkTableJob{ buildHeader("单据编号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("客户", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("业务类型", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("创建时间", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("创建时间", AppTableCreateHeaderTypeEnum.DATETIME,buildProperty(DateUtils.YYYY_MM_DD_SECOND)), buildHeader("审核时间", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("单据日期", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("销售订单号", AppTableCreateHeaderTypeEnum.TEXT), @@ -162,8 +163,8 @@ public class CJTCreateLarkTableJob{ buildHeader("规格型号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("钢板面", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("销售单位", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("数量", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("金额", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), + buildPropertyHeader("金额", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0.00")), buildHeader("备注1", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("明细备注", AppTableCreateHeaderTypeEnum.TEXT) }; @@ -171,7 +172,7 @@ public class CJTCreateLarkTableJob{ return new AppTableCreateHeader[]{ buildHeader("单据日期", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("编号", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("生单时间", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("生单时间", AppTableCreateHeaderTypeEnum.DATETIME,buildProperty(DateUtils.YYYY_MM_DD_SECOND)), buildHeader("客户id", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("审核日期", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("单据状态", AppTableCreateHeaderTypeEnum.TEXT), @@ -179,12 +180,12 @@ public class CJTCreateLarkTableJob{ buildHeader("存货", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("规格型号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("销售单位", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("数量", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("累计执行数量", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), + buildPropertyHeader("累计执行数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), buildHeader("钢板面", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("明细备注", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("备注1", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("金额", AppTableCreateHeaderTypeEnum.TEXT) + buildPropertyHeader("金额", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0.00")) }; case SYNC_CJT_SALE_DISPATCH_DATA_TO_MULTI_TABLE: return new AppTableCreateHeader[]{ @@ -197,12 +198,12 @@ public class CJTCreateLarkTableJob{ buildHeader("存货", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("规格型号", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("计量单位", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("数量", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("数量", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0")), buildHeader("送货地址", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("创建时间", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("创建时间", AppTableCreateHeaderTypeEnum.DATETIME,buildProperty(DateUtils.YYYY_MM_DD_SECOND)), buildHeader("备注", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("售价", AppTableCreateHeaderTypeEnum.TEXT), - buildHeader("销售金额", AppTableCreateHeaderTypeEnum.TEXT), + buildPropertyHeader("售价", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0.00")), + buildPropertyHeader("销售金额", AppTableCreateHeaderTypeEnum.NUMBER,buildProperty("0.00")), buildHeader("客服", AppTableCreateHeaderTypeEnum.TEXT), buildHeader("配送路线", AppTableCreateHeaderTypeEnum.TEXT) }; @@ -211,6 +212,18 @@ public class CJTCreateLarkTableJob{ } } + private AppTableFieldProperty buildProperty(String formatter){ + AppTableFieldProperty.Builder property = AppTableFieldProperty.newBuilder(); + + if (DateUtils.YYYY_MM_DD_SECOND.equals(formatter)) { + property.autoFill(Boolean.FALSE); + property.dateFormatter(formatter); + }else { + property.formatter(formatter); + } + return property.build(); + } + private AppTableCreateHeader buildHeader(String fieldName, AppTableCreateHeaderTypeEnum type){ AppTableCreateHeader.Builder builder = new AppTableCreateHeader.Builder(); builder.fieldName(fieldName) @@ -218,6 +231,14 @@ public class CJTCreateLarkTableJob{ return new AppTableCreateHeader(builder); } + private AppTableCreateHeader buildPropertyHeader(String fieldName, AppTableCreateHeaderTypeEnum type,AppTableFieldProperty property){ + AppTableCreateHeader.Builder builder = new AppTableCreateHeader.Builder(); + builder.fieldName(fieldName) + .type(type) + .property(property); + return new AppTableCreateHeader(builder); + } + private LarkCompanyRelation getCompanyRelation(AppType appType){ LarkCompanyRelation companyRelationQuery = new LarkCompanyRelation(); companyRelationQuery.setAppType(appType.getCode()); diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java index 0d652f1..b6245c4 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/CJT/SyncAccountsJobAbstract.java @@ -262,6 +262,10 @@ public abstract class SyncAccountsJobAbstract { private Object changeValueType(String value,CJTSyncTypeRelation cjtSyncTypeRelation){ TableFieldTypeEnum type = cjtSyncTypeRelation.getType(); + if (org.apache.commons.lang3.StringUtils.isBlank(value) || type == null){ + return value; + } + switch (type){ case NUMBER: return Double.valueOf(value);