Bläddra i källkod

feat(workhours): 审批回写同步状态字段接入(v0.7.1)

业务方在工时审批/其他工时审批表上各加 3 个字段(同名同 ID),
fieldId 已填入 application-dev.yml:
- 同步状态 selectField_mq58cd5p(SelectField,选项:全部成功/部分失败/全部失败)
- 同步总数 numberField_mq58cd5q
- 失败数量 numberField_mq58cd5r

代码 syncStatus 字面值改为 全部成功/部分失败/全部失败,严格对齐宜搭 SelectField 选项,
避免写入未匹配选项被宜搭拒绝。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
malk 1 vecka sedan
förälder
incheckning
f6cf11c4e2

+ 4 - 3
mjava-akdsbeisen/src/main/java/com/malk/service/workhours/ApprovalWriteBackService.java

@@ -211,11 +211,12 @@ public class ApprovalWriteBackService {
             executor.shutdown();
         }
 
-        // 6. 同步状态汇总(syncTotal=分组数;failCount=失败组数;status=成功/部分成功/失败)
+        // 6. 同步状态汇总(syncTotal=分组数;failCount=失败组数)
+        // fixme 状态字面值对齐宜搭审批表 selectField_mq58cd5p 选项:"全部成功" / "部分失败" / "全部失败"
         int syncTotal = groups.size();
         int failCount = failRecords.get();
-        String syncStatus = (syncTotal == 0 || failCount == 0) ? "成功"
-                : (failCount < syncTotal ? "部分成功" : "失败");
+        String syncStatus = (syncTotal == 0 || failCount == 0) ? "全部成功"
+                : (failCount < syncTotal ? "部分失败" : "全部失败");
 
         ApprovalWriteBackResult stats = ApprovalWriteBackResult.builder()
                 .formType(isOther ? "其他工时审批" : "工时审批")

+ 8 - 7
mjava-akdsbeisen/src/main/resources/application-dev.yml

@@ -76,10 +76,11 @@ workhours:
   formUuidOtherApproval: "FORM-4828E0E40CD34038825E8C6E25417B2718NF"   # 正式 FORM-BA14F6322DBD470F8CF84CCE131DEA31TIJS
   yidaAppType: "APP_ZQ3I7XO2RSHDJ4QDEVNB"
   yidaSystemToken: "FOD66381NOS25MERLN2UK92FY96Y21UMHD7LM36S"
-  # 审批回写同步状态字段:业务方在工时审批 / 其他工时审批表单上各加 3 个字段(同步状态-文本/单选 / 同步总数-数字 / 失败数量-数字),把 fieldId 填到下方即可启用回写;任一为空则跳过该类别的同步字段回写
-  approvalSyncStatusField: ""
-  approvalSyncTotalField: ""
-  approvalSyncFailField: ""
-  otherApprovalSyncStatusField: ""
-  otherApprovalSyncTotalField: ""
-  otherApprovalSyncFailField: ""
+  # 审批回写同步状态字段:两类审批表 fieldId 一致(业务方建字段时同名同 ID)
+  # 同步状态 SelectField 选项必须为「全部成功 / 部分失败 / 全部失败」,与 ApprovalWriteBackService.syncStatus 计算口径对齐
+  approvalSyncStatusField: "selectField_mq58cd5p"
+  approvalSyncTotalField: "numberField_mq58cd5q"
+  approvalSyncFailField: "numberField_mq58cd5r"
+  otherApprovalSyncStatusField: "selectField_mq58cd5p"
+  otherApprovalSyncTotalField: "numberField_mq58cd5q"
+  otherApprovalSyncFailField: "numberField_mq58cd5r"