From 5dca49269399c21333b16d62945c7f74570f9ad5 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期三, 24 十二月 2025 20:33:59 +0800
Subject: [PATCH] 字段调整

---
 src/main/java/com/zy/asrs/controller/MonthlySettleController.java |  135 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 135 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonthlySettleController.java b/src/main/java/com/zy/asrs/controller/MonthlySettleController.java
new file mode 100644
index 0000000..a3c847a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/MonthlySettleController.java
@@ -0,0 +1,135 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.R;
+import com.zy.asrs.entity.MonthlySettle;
+import com.zy.asrs.entity.param.DateRangeParam;
+import com.zy.asrs.entity.param.MonthlySettleQueryParam;
+import com.zy.asrs.service.MonthlySettleService;
+import com.zy.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@RestController
+public class MonthlySettleController extends BaseController {
+
+    @Autowired
+    private MonthlySettleService monthlySettleService;
+
+    /**
+     * 鑾峰彇鏈堢粨淇℃伅
+     */
+    @RequestMapping(value = "/monthlySettle/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") Long id) {
+        return R.ok(monthlySettleService.selectById(id));
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ鏈堢粨鍒楄〃
+     */
+    @RequestMapping(value = "/monthlySettle/list/auth")
+    @ManagerAuth
+    public R list(MonthlySettleQueryParam param) {
+        Page<MonthlySettle> page = new Page<>(param.getCurr(), param.getLimit());
+        java.util.Map<String, Object> condition = new java.util.HashMap<>();
+        if (param.getSettleNo() != null && !param.getSettleNo().trim().isEmpty()) {
+            condition.put("settleNo", param.getSettleNo());
+        }
+        if (param.getStatus() != null) {
+            condition.put("status", param.getStatus());
+        }
+        if (param.getStartDate() != null && !param.getStartDate().trim().isEmpty() 
+                && param.getEndDate() != null && !param.getEndDate().trim().isEmpty()) {
+            condition.put("startDate", param.getStartDate());
+            condition.put("endDate", param.getEndDate());
+        }
+        page.setCondition(condition);
+        return R.ok(monthlySettleService.getPage(page));
+    }
+
+    /**
+     * 鑾峰彇鏈�杩戠殑鏈堢粨璁板綍
+     */
+    @RequestMapping(value = "/monthlySettle/latest/auth")
+    @ManagerAuth
+    public R getLatest() {
+        MonthlySettle latest = monthlySettleService.getLatestSettle();
+        return R.ok(latest);
+    }
+
+    /**
+     * 鑾峰彇涓嬩竴涓湀缁撶殑璧峰鏃ユ湡
+     */
+    @RequestMapping(value = "/monthlySettle/nextStartDate/auth")
+    @ManagerAuth
+    public R getNextStartDate() {
+        Date nextStartDate = monthlySettleService.getNextStartDate();
+        if (nextStartDate != null) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            return R.ok(sdf.format(nextStartDate));
+        }
+        return R.ok(null);
+    }
+
+    /**
+     * 鑾峰彇鏈�鏅氭湀缁撹褰曠殑缁撴潫鏃ユ湡
+     */
+    @RequestMapping(value = "/monthlySettle/latestEndDate/auth")
+    @ManagerAuth
+    public R getLatestEndDate() {
+        Date latestEndDate = monthlySettleService.getLatestEndDate();
+        if (latestEndDate != null) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            return R.ok(sdf.format(latestEndDate));
+        }
+        return R.ok(null);
+    }
+
+    /**
+     * 妫�鏌ユ湀缁撴椂闂磋寖鍥村唴鏄惁鏈夋湭瀹屾垚鐨勮鍗�
+     */
+    @RequestMapping(value = "/monthlySettle/checkUnfinished/auth")
+    @ManagerAuth
+    public R checkUnfinished(DateRangeParam param) {
+        boolean hasUnfinished = monthlySettleService.hasUnfinishedOrders(param.getStartDate(), param.getEndDate());
+        if (hasUnfinished) {
+            return R.error("鏈堢粨鏃堕棿鑼冨洿鍐呭瓨鍦ㄦ湭瀹屾垚鐨勮鍗曪紝鏃犳硶杩涜鏈堢粨");
+        }
+        return R.ok();
+    }
+
+    /**
+     * 鍙戣捣鏈堢粨
+     */
+    @RequestMapping(value = "/monthlySettle/start/auth")
+    @ManagerAuth
+    public R startSettle(DateRangeParam param) {
+        return R.ok(monthlySettleService.startSettle(param.getStartDate(), param.getEndDate(), getUserId()));
+    }
+
+    /**
+     * 鑾峰彇鏈堢粨缁熻淇℃伅
+     */
+    @RequestMapping(value = "/monthlySettle/statistics/{id}/auth")
+    @ManagerAuth
+    public R getStatistics(@PathVariable("id") Long id) {
+        return R.ok(monthlySettleService.getSettleStatistics(id));
+    }
+
+    /**
+     * 鍒犻櫎鏈堢粨璁板綍
+     */
+    @RequestMapping(value = "/monthlySettle/{id}/auth", method = RequestMethod.DELETE)
+    @ManagerAuth
+    public R delete(@PathVariable("id") Long id) {
+        monthlySettleService.deleteSettle(id);
+        return R.ok("鍒犻櫎鎴愬姛");
+    }
+
+}
+

--
Gitblit v1.9.1