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