maven
2025-08-13 2d9eb8ce14f1cbfe2f22ec4144f6bed4a52322f9
yys  新增劳保管理
已添加6个文件
323 ■■■■■ 文件已修改
src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/mapper/LavorIssueMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/service/LavorIssueService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/service/impl/LavorIssueServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/lavorissue/LavorIssueMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 , "劳保台账");
    }
}
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();
}
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;
}
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);
}
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;
    }
}
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>