From 2d9eb8ce14f1cbfe2f22ec4144f6bed4a52322f9 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 13 八月 2025 16:29:49 +0800
Subject: [PATCH] yys 新增劳保管理
---
src/main/java/com/ruoyi/lavorissue/mapper/LavorIssueMapper.java | 27 ++++
src/main/java/com/ruoyi/lavorissue/service/LavorIssueService.java | 22 +++
src/main/resources/mapper/lavorissue/LavorIssueMapper.xml | 30 +++++
src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java | 125 ++++++++++++++++++++
src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java | 29 ++++
src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java | 90 +++++++++++++++
6 files changed, 323 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java b/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java
new file mode 100644
index 0000000..5af3220
--- /dev/null
+++ b/src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java
@@ -0,0 +1,90 @@
+package com.ruoyi.lavorissue.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.lavorissue.mapper.LavorIssueMapper;
+import com.ruoyi.lavorissue.pojo.LaborIssue;
+import com.ruoyi.lavorissue.service.LavorIssueService;
+import com.ruoyi.project.system.mapper.SysDeptMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/8/13 11:19
+ */
+@RestController
+@Api(tags = "鍔充繚鍙戞斁")
+@RequestMapping("/lavorIssue")
+public class LavorIssueController extends BaseController {
+
+ @Autowired
+ private LavorIssueService laborIssueService;
+
+ @Autowired
+ private LavorIssueMapper lavorIssueMapper;
+
+ @Autowired
+ private SysDeptMapper sysDeptMapper;
+
+ @GetMapping("/listPage")
+ @Log(title = "鍔充繚鍙戞斁-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+ @ApiOperation("鍔充繚鍙戞斁-鍒嗛〉鏌ヨ")
+ public AjaxResult listPage(Page page, LaborIssue laborIssue){
+ IPage<LaborIssue> listPage = laborIssueService.listPage(page, laborIssue);
+ return AjaxResult.success(listPage);
+ }
+
+ @PostMapping("/add")
+ @Log(title = "鍔充繚鍙戞斁-娣诲姞", businessType = BusinessType.INSERT)
+ @ApiOperation("鍔充繚鍙戞斁-娣诲姞")
+ public AjaxResult add(@RequestBody LaborIssue laborIssue){
+ boolean save = laborIssueService.save(laborIssue);
+ return save ? AjaxResult.success() : AjaxResult.error();
+ }
+
+ @PostMapping("/update")
+ @Log(title = "鍔充繚鍙戞斁-淇敼", businessType = BusinessType.UPDATE)
+ @ApiOperation("鍔充繚鍙戞斁-淇敼")
+ public AjaxResult update(@RequestBody LaborIssue laborIssue){
+ boolean update = laborIssueService.updateById(laborIssue);
+ return update ? AjaxResult.success() : AjaxResult.error();
+ }
+
+ @DeleteMapping("/delete")
+ @Log(title = "鍔充繚鍙戞斁-鍒犻櫎", businessType = BusinessType.DELETE)
+ @ApiOperation("鍔充繚鍙戞斁-鍒犻櫎")
+ public AjaxResult delete(@RequestBody List<Long> ids){
+ boolean delete = laborIssueService.removeBatchByIds(ids);
+ return delete ? AjaxResult.success() : AjaxResult.error();
+ }
+
+
+ /**
+ * 鍔充繚鍙戞斁-瀵煎嚭
+ */
+ @Log(title = "鍔充繚鍙戞斁-瀵煎嚭", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ApiOperation("鍔充繚鍙戞斁-瀵煎嚭")
+ public void export(HttpServletResponse response) {
+ Long tenantId = SecurityUtils.getLoginUser().getTenantId();
+ ExcelUtil<LaborIssue> util = new ExcelUtil<LaborIssue>(LaborIssue.class);
+ List<LaborIssue> list = lavorIssueMapper.list();
+ list.forEach(item -> {
+ item.setDeptName(sysDeptMapper.selectDeptById(tenantId).getDeptName());
+ });
+ util.exportExcel(response, list , "鍔充繚鍙拌处");
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/lavorissue/mapper/LavorIssueMapper.java b/src/main/java/com/ruoyi/lavorissue/mapper/LavorIssueMapper.java
new file mode 100644
index 0000000..3623fba
--- /dev/null
+++ b/src/main/java/com/ruoyi/lavorissue/mapper/LavorIssueMapper.java
@@ -0,0 +1,27 @@
+package com.ruoyi.lavorissue.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.lavorissue.pojo.LaborIssue;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/8/13 11:17
+ */
+public interface LavorIssueMapper extends BaseMapper<LaborIssue> {
+
+ /**
+ * 鑾峰彇鍒楄〃
+ *
+ * @param page
+ * @param laborIssue
+ * @return
+ */
+ IPage<LaborIssue> listPage(Page page, @Param("req") LaborIssue laborIssue);
+
+ List<LaborIssue> list();
+}
diff --git a/src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java b/src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java
new file mode 100644
index 0000000..2772d6e
--- /dev/null
+++ b/src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java
@@ -0,0 +1,125 @@
+package com.ruoyi.lavorissue.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * @author :yys
+ * @date : 2025/8/13 11:12
+ */
+@Data
+@TableName("labor_issue")
+@ApiModel
+public class LaborIssue {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 閮ㄩ棬鍚嶇О
+ */
+ @ApiModelProperty("閮ㄩ棬鍚嶇О")
+ @Excel(name = "閮ㄩ棬鍚嶇О")
+ @TableField(exist = false)
+ private String deptName;
+
+ /**
+ * 鍛樺伐id
+ */
+ @ApiModelProperty("鍛樺伐id")
+ private Long staffId;
+
+ /**
+ * 鍛樺伐鍚嶇О
+ */
+ @ApiModelProperty("鍛樺伐鍚嶇О")
+ @Excel(name = "鍛樺伐鍚嶇О")
+ @TableField(exist = false)
+ private String staffName;
+
+ /**
+ * 鍛樺伐缂栧彿
+ */
+ @ApiModelProperty("鍛樺伐缂栧彿")
+ @Excel(name = "鍛樺伐缂栧彿")
+ @TableField(exist = false)
+ private String staffNo;
+
+ /**
+ * 闃插叿鍚嶇О-瀛楀吀
+ */
+ @ApiModelProperty("闃插叿鍚嶇О-瀛楀吀")
+ private String dictId;
+
+ /**
+ * 闃插叿鍚嶇О
+ */
+ @ApiModelProperty("闃插叿鍚嶇О")
+ @Excel(name = "闃插叿鍚嶇О")
+ @TableField(exist = false)
+ private String dictName;
+
+ /**
+ * 棰嗙敤鏁伴噺
+ */
+ @ApiModelProperty("棰嗙敤鏁伴噺")
+ @Excel(name = "棰嗙敤鏁伴噺")
+ private Long num;
+
+ /**
+ * 棰嗙敤鏃ユ湡
+ */
+ @ApiModelProperty("棰嗙敤鏃ユ湡")
+ @Excel(name = "棰嗙敤鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private Date adoptedDate;
+
+ /**
+ * 绛惧悕
+ */
+ @Excel(name = "绛惧悕")
+ @TableField(exist = false)
+ private String sign;
+
+ /**
+ * 鍒涘缓鑰�
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /**
+ * 淇敼鑰�
+ */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ /**
+ * 绉熸埛ID
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+}
diff --git a/src/main/java/com/ruoyi/lavorissue/service/LavorIssueService.java b/src/main/java/com/ruoyi/lavorissue/service/LavorIssueService.java
new file mode 100644
index 0000000..4779739
--- /dev/null
+++ b/src/main/java/com/ruoyi/lavorissue/service/LavorIssueService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.lavorissue.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.lavorissue.pojo.LaborIssue;
+
+/**
+ * @author :yys
+ * @date : 2025/8/13 11:18
+ */
+public interface LavorIssueService extends IService<LaborIssue> {
+
+ /**
+ * 鏌ヨ鍒楄〃
+ *
+ * @param page
+ * @param laborIssue
+ * @return
+ */
+ IPage<LaborIssue> listPage(Page page, LaborIssue laborIssue);
+}
diff --git a/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java b/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java
new file mode 100644
index 0000000..ff492b2
--- /dev/null
+++ b/src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java
@@ -0,0 +1,29 @@
+package com.ruoyi.lavorissue.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.lavorissue.mapper.LavorIssueMapper;
+import com.ruoyi.lavorissue.pojo.LaborIssue;
+import com.ruoyi.lavorissue.service.LavorIssueService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author :yys
+ * @date : 2025/8/13 11:18
+ */
+@Service
+@Slf4j
+public class LavorIssueServiceImpl extends ServiceImpl<LavorIssueMapper, LaborIssue> implements LavorIssueService {
+
+ @Autowired
+ private LavorIssueMapper lavorIssueMapper;
+
+ @Override
+ public IPage<LaborIssue> listPage(Page page, LaborIssue laborIssue) {
+ IPage<LaborIssue> listPage = lavorIssueMapper.listPage(page, laborIssue);
+ return listPage;
+ }
+}
diff --git a/src/main/resources/mapper/lavorissue/LavorIssueMapper.xml b/src/main/resources/mapper/lavorissue/LavorIssueMapper.xml
new file mode 100644
index 0000000..88cf9aa
--- /dev/null
+++ b/src/main/resources/mapper/lavorissue/LavorIssueMapper.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.lavorissue.mapper.LavorIssueMapper">
+
+ <select id="listPage" resultType="com.ruoyi.lavorissue.pojo.LaborIssue">
+ select
+ t1.*,
+ t2.staff_name as staffName,
+ t2.staff_no as staffNo,
+ t3.dict_label as dictName
+ from labor_issue t1
+ left join staff_join_leave_record t2 on t1.staff_id = t2.id
+ left join sys_dict_data t3 on t1.dict_id = t3.dict_value
+ <where>
+ <if test="req.staffName != null and req.staffName != ''">
+ and t2.staff_name like ('%',#{req.staffName},'%')
+ </if>
+ </where>
+ </select>
+ <select id="list" resultType="com.ruoyi.lavorissue.pojo.LaborIssue">
+ select
+ t1.*,
+ t2.staff_name as staffName,
+ t2.staff_no as staffNo,
+ t3.dict_label as dictName
+ from labor_issue t1
+ left join staff_join_leave_record t2 on t1.staff_id = t2.id
+ left join sys_dict_data t3 on t1.dict_id = t3.dict_value
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3