| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package com.malk.controller;
- import com.malk.server.common.McR;
- import com.malk.server.workhours.TimeCardDuplicateCleanupRequest;
- import com.malk.server.workhours.TimeCardDuplicateCleanupResult;
- import com.malk.server.workhours.TimeCardInstanceDeleteRequest;
- import com.malk.server.workhours.TimeCardSummaryUpsertRequest;
- import com.malk.service.workhours.TimeCardSummaryService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- /**
- * TimeCard 工时汇总接口。
- */
- @RestController
- @RequestMapping("/timecard")
- public class TimeCardController {
- @Autowired
- private TimeCardSummaryService timeCardSummaryService;
- /**
- * 按填报人 ID + 日期原子写入单日工时汇总。
- *
- * @param request 单日汇总数据
- * @return 宜搭写入结果
- */
- @PostMapping("/summary/upsert")
- public McR<Boolean> upsertSummary(@RequestBody TimeCardSummaryUpsertRequest request) {
- return McR.success(timeCardSummaryService.upsert(request));
- }
- /**
- * 按显式清单受控清理重复汇总记录,默认只校验不删除。
- *
- * @param request 重复记录清理请求
- * @return 校验、删除和复查统计
- */
- @PostMapping("/summary/cleanup-duplicates")
- public McR<TimeCardDuplicateCleanupResult> cleanupDuplicates(
- @RequestBody TimeCardDuplicateCleanupRequest request) {
- return McR.success(timeCardSummaryService.cleanupDuplicates(request));
- }
- /**
- * 按显式实例 ID 受控删除记录,默认只校验不删除。
- *
- * @param request 实例删除请求
- * @return 校验和删除统计
- */
- @PostMapping("/summary/delete-instances")
- public McR<java.util.Map<String, Object>> deleteInstances(
- @RequestBody TimeCardInstanceDeleteRequest request) {
- return McR.success(timeCardSummaryService.deleteInstances(request));
- }
- }
|