From 1284fb157043e488aa1794d8f1b64ebf18aa5147 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 08 十月 2026 17:08:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_tide' into dev_tide
---
src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
index 9ecf442..f5c9850 100644
--- a/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
+++ b/src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
@@ -1,6 +1,8 @@
package com.ruoyi.staff.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.staff.pojo.StaffJoinLeaveRecord;
import com.ruoyi.staff.pojo.StaffOnJob;
@@ -8,6 +10,7 @@
import com.ruoyi.staff.service.IStaffOnJobService;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -36,6 +39,15 @@
}
/**
+ * 鍦ㄨ亴鍛樺伐涓嬫媺(鏂板绂昏亴鐢�)
+ * @return
+ */
+ @GetMapping("/list")
+ public AjaxResult staffOnJobList() {
+ return AjaxResult.success(staffOnJobService.staffOnJobList());
+ }
+
+ /**
* 鍦ㄨ亴鍛樺伐璇︽儏
* @param staffNo
* @return
@@ -43,6 +55,18 @@
@GetMapping("/staffNo")
public AjaxResult staffOnJobDetail(String staffNo) {
return AjaxResult.success(staffOnJobService.staffOnJobDetail(staffNo));
+ }
+ /**
+ * 鍦ㄨ亴鍛樺伐瀵煎叆
+ */
+ @PostMapping("/import")
+ @Log(title = "鍦ㄨ亴鍛樺伐瀵煎叆", businessType = BusinessType.IMPORT)
+ public AjaxResult importData(@RequestPart("file") MultipartFile file) {
+ Boolean b = staffOnJobService.importData(file);
+ if (b) {
+ return AjaxResult.success("瀵煎叆鎴愬姛");
+ }
+ return AjaxResult.error("瀵煎叆澶辫触");
}
/**
@@ -55,5 +79,51 @@
staffOnJobService.staffOnJobExport(response, staffOnJob);
}
+ /**
+ * 鏂板鍦ㄨ亴鍛樺伐
+ */
+ @PostMapping
+ public AjaxResult add(@RequestBody StaffOnJob staffOnJob) {
+ if (staffOnJob.getStaffState() == null) {
+ staffOnJob.setStaffState(1);
+ }
+ return staffOnJobService.save(staffOnJob) ? AjaxResult.success() : AjaxResult.error("鏂板澶辫触");
+ }
+
+ /**
+ * 淇敼鍦ㄨ亴鍛樺伐
+ */
+ @PutMapping("/{id}")
+ public AjaxResult update(@PathVariable Long id, @RequestBody StaffOnJob staffOnJob) {
+ staffOnJob.setId(id);
+ return staffOnJobService.updateById(staffOnJob) ? AjaxResult.success() : AjaxResult.error("淇敼澶辫触");
+ }
+
+ /**
+ * 鍒犻櫎鍦ㄨ亴鍛樺伐
+ */
+ @DeleteMapping("/del")
+ public AjaxResult del(@RequestBody List<Long> ids) {
+ return staffOnJobService.removeByIds(ids) ? AjaxResult.success() : AjaxResult.error("鍒犻櫎澶辫触");
+ }
+
+ /**
+ * 鍦ㄨ亴鍛樺伐缁熻锛堝湪鑱屼汉鏁� / 钖祫鍚堣锛�
+ */
+ @GetMapping("/statistics")
+ public AjaxResult statistics() {
+ List<StaffOnJob> list = staffOnJobService.list();
+ long onJobCount = list.stream()
+ .filter(s -> s.getStaffState() != null && s.getStaffState() == 1).count();
+ java.math.BigDecimal salaryTotal = list.stream()
+ .filter(s -> s.getStaffState() != null && s.getStaffState() == 1 && s.getSalary() != null)
+ .map(StaffOnJob::getSalary)
+ .reduce(java.math.BigDecimal.ZERO, java.math.BigDecimal::add);
+ java.util.Map<String, Object> map = new java.util.HashMap<>();
+ map.put("onJobCount", onJobCount);
+ map.put("salaryTotal", salaryTotal);
+ return AjaxResult.success(map);
+ }
+
}
--
Gitblit v1.9.3