|
@@ -8,6 +8,17 @@
|
|
|
|
|
|
|
|
**Tech Stack:** Java 8, Spring Boot 2.1, JUnit 4, Mockito, DingTalk YiDa form APIs, Maven.
|
|
**Tech Stack:** Java 8, Spring Boot 2.1, JUnit 4, Mockito, DingTalk YiDa form APIs, Maven.
|
|
|
|
|
|
|
|
|
|
+## 2026-07-15 实际执行修订
|
|
|
|
|
+
|
|
|
|
|
+用户确认实际顺序调整为:隔离分支本地启动服务处理正式宜搭数据 → 更新文档归档 → 最后整理提交并部署。没有为了 dry-run 先部署生产服务。
|
|
|
|
|
+
|
|
|
|
|
+当前结果:
|
|
|
|
|
+
|
|
|
|
|
+- 重复记录删除 35 条,失败 0。
|
|
|
|
|
+- 离职日后记录删除 796 条,失败 0。
|
|
|
|
|
+- 删除后重复、离职后、未来日期三项 dry-run 的 `toDelete` 均为 0。
|
|
|
|
|
+- 两份业务文档已更新;最终生产部署仍待执行。
|
|
|
|
|
+
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
### Task 1: Deterministic Duplicate Resolver
|
|
### Task 1: Deterministic Duplicate Resolver
|
|
@@ -335,7 +346,7 @@ Report target form, duplicate groups, duplicate delete count, offline delete cou
|
|
|
- Modify after successful deletion: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时月度计算.md`
|
|
- Modify after successful deletion: `/Users/malk/Desktop/Tech/claude/后端/阿科德斯/应填报工时月度计算.md`
|
|
|
- Modify after successful deletion: `/Users/malk/Desktop/Tech/claude/临时/阿科德斯-应报工时修复-2026-07-15.md`
|
|
- Modify after successful deletion: `/Users/malk/Desktop/Tech/claude/临时/阿科德斯-应报工时修复-2026-07-15.md`
|
|
|
|
|
|
|
|
-- [ ] **Step 1: Delete valid-record duplicates after confirmation**
|
|
|
|
|
|
|
+- [x] **Step 1: Delete valid-record duplicates after confirmation**
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-duplicates?dryRun=false'
|
|
curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-duplicates?dryRun=false'
|
|
@@ -343,7 +354,7 @@ curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-duplicates?dryRun=fal
|
|
|
|
|
|
|
|
Expected: `deleted == toDelete` and `fail == 0`.
|
|
Expected: `deleted == toDelete` and `fail == 0`.
|
|
|
|
|
|
|
|
-- [ ] **Step 2: Delete post-offline records**
|
|
|
|
|
|
|
+- [x] **Step 2: Delete post-offline records**
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-after-offline?dryRun=false'
|
|
curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-after-offline?dryRun=false'
|
|
@@ -351,7 +362,7 @@ curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-after-offline?dryRun=
|
|
|
|
|
|
|
|
Expected: `deleted == toDelete` and `fail == 0`.
|
|
Expected: `deleted == toDelete` and `fail == 0`.
|
|
|
|
|
|
|
|
-- [ ] **Step 3: Re-run all read-only audits**
|
|
|
|
|
|
|
+- [x] **Step 3: Re-run all read-only audits**
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-duplicates?dryRun=true'
|
|
curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-duplicates?dryRun=true'
|
|
@@ -361,7 +372,7 @@ curl -sS 'http://127.0.0.1:9055/api/akds/workhours/cleanup-future?dryRun=true'
|
|
|
|
|
|
|
|
Expected: every response has `toDelete=0` and `fail=0`.
|
|
Expected: every response has `toDelete=0` and `fail=0`.
|
|
|
|
|
|
|
|
-- [ ] **Step 4: Update both workhours documents**
|
|
|
|
|
|
|
+- [x] **Step 4: Update both workhours documents**
|
|
|
|
|
|
|
|
Record actual duplicate groups, duplicate deletions, offline deletions, verification results, commit IDs, and deployment state. Keep unmatched personnel and empty-source preservation rules explicit.
|
|
Record actual duplicate groups, duplicate deletions, offline deletions, verification results, commit IDs, and deployment state. Keep unmatched personnel and empty-source preservation rules explicit.
|
|
|
|
|
|