maven
2025-11-20 5c0bc75816a7b5fa348d658897a304f588d9d0ed
yys
1.劳保修改
已添加1个文件
已修改7个文件
113 ■■■■ 文件已修改
src/main/java/com/ruoyi/lavorissue/controller/DeptPositionController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/dto/LaborIssueDto.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/mapper/LaborConfMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/service/impl/DeptPositionServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/lavorissue/LaborConfMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/lavorissue/LavorIssueMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/lavorissue/controller/DeptPositionController.java
@@ -56,9 +56,9 @@
     * @return
     */
    @GetMapping("/getDeptPositionByDeptId")
    @Log(title = "通过部门id递归查询所有的岗位", businessType = BusinessType.OTHER)
    @ApiOperation("通过部门id递归查询所有的岗位")
    public AjaxResult getDeptPositionByDeptId(@RequestBody DeptPosition deptPosition) {
    @Log(title = "通过部门id递归查询所有的岗位,在通过岗位查询对应人员", businessType = BusinessType.OTHER)
    @ApiOperation("通过部门id递归查询所有的岗位,在通过岗位查询对应人员")
    public AjaxResult getDeptPositionByDeptId(DeptPosition deptPosition) {
        return AjaxResult.success(deptPositionService.getDeptPositionByDeptId(deptPosition));
    }
@@ -70,7 +70,7 @@
    @GetMapping("/getDeptPositionByDeptIdLabor")
    @Log(title = "通过id递归查询所有的岗位,在通过岗位查询对应劳保用品", businessType = BusinessType.OTHER)
    @ApiOperation("通过id递归查询所有的岗位,在通过岗位查询对应劳保用品")
    public AjaxResult getDeptPositionByDeptIdLabor(@RequestBody DeptPosition deptPosition) {
    public AjaxResult getDeptPositionByDeptIdLabor(DeptPosition deptPosition) {
        return AjaxResult.success(deptPositionService.getDeptPositionByDeptIdLabor(deptPosition));
    }
src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java
@@ -12,6 +12,7 @@
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.dto.LaborIssueDto;
import com.ruoyi.lavorissue.dto.StatisticsLaborIssue;
import com.ruoyi.lavorissue.mapper.LavorIssueMapper;
import com.ruoyi.lavorissue.pojo.LaborIssue;
@@ -20,6 +21,7 @@
import com.ruoyi.project.system.mapper.SysDeptMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -73,21 +75,26 @@
    @ApiOperation("劳保发放-添加")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult add(@RequestBody LaborIssue laborIssue){
        String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
        StartAndEndDateDto dateTime = DailyRedisCounter.getDateTime();
        Long approveId = lavorIssueMapper.selectCount(new LambdaQueryWrapper<LaborIssue>()
                .gt(LaborIssue::getCreateTime, dateTime.getStartDate())
                .lt(LaborIssue::getCreateTime, dateTime.getEndDate()));
        String formattedCount = String.format("%03d", approveId + 1);
        laborIssue.setOrderNo(today + formattedCount);
        List<LaborIssue> laborIssues = lavorIssueMapper.selectList(new LambdaQueryWrapper<LaborIssue>()
                .like(LaborIssue::getOrderNo, today));
        if(!CollectionUtils.isEmpty(laborIssues)){
            long l = Long.parseLong(laborIssues.get(laborIssues.size() - 1).getOrderNo());
            laborIssue.setOrderNo(String.format("%03d", l + 1));
        for (LaborIssueDto issue : laborIssue.getLaborIssueList()) {
            LaborIssue  laborIssue1 = new LaborIssue();
            BeanUtils.copyProperties(laborIssue, laborIssue1);
            BeanUtils.copyProperties(issue, laborIssue1);
            String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
            StartAndEndDateDto dateTime = DailyRedisCounter.getDateTime();
            Long approveId = lavorIssueMapper.selectCount(new LambdaQueryWrapper<LaborIssue>()
                    .gt(LaborIssue::getCreateTime, dateTime.getStartDate())
                    .lt(LaborIssue::getCreateTime, dateTime.getEndDate()));
            String formattedCount = String.format("%03d", approveId + 1);
            laborIssue1.setOrderNo(today + formattedCount);
//            List<LaborIssue> laborIssues = lavorIssueMapper.selectList(new LambdaQueryWrapper<LaborIssue>()
//                    .like(LaborIssue::getOrderNo, today));
//            if(!CollectionUtils.isEmpty(laborIssues)){
//                long l = Long.parseLong(laborIssues.get(laborIssues.size() - 1).getOrderNo());
//                issue.setOrderNo(String.format("%03d", l + 1));
//            }
            laborIssueService.save(laborIssue1);
        }
        boolean save = laborIssueService.save(laborIssue);
        return save ? AjaxResult.success() : AjaxResult.error();
        return AjaxResult.success();
    }
    @PostMapping("/update")
src/main/java/com/ruoyi/lavorissue/dto/LaborIssueDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.ruoyi.lavorissue.dto;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author :yys
 * @date : 2025/11/20 10:21
 */
@Data
@ApiModel
public class LaborIssueDto {
    /**
     * é¢†ç”¨æ•°é‡
     */
    @ApiModelProperty("领用数量")
    private Long num;
    /**
     * å‘˜å·¥id
     */
    @ApiModelProperty("员工id")
    private Long staffId;
}
src/main/java/com/ruoyi/lavorissue/mapper/LaborConfMapper.java
@@ -6,10 +6,13 @@
import com.ruoyi.lavorissue.pojo.LaborConf;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @author :yys
 * @date : 2025/11/19 14:00
 */
public interface LaborConfMapper extends BaseMapper<LaborConf> {
    IPage<LaborConf> listPage(Page page,@Param("req") LaborConf laborConf);
    List<LaborConf> list(@Param("req")List<Long> ids);
}
src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java
@@ -4,6 +4,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.approve.utils.StartAndEndDateDto;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.lavorissue.dto.LaborIssueDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -11,6 +12,7 @@
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
 * @author :yys
@@ -37,7 +39,7 @@
     * éƒ¨é—¨å²—位id
     */
    @ApiModelProperty("部门岗位id")
    private Integer deptPositionName;
    private Integer deptPositionId;
    /**
     * éƒ¨é—¨å²—位名称
@@ -54,6 +56,10 @@
    @Excel(name = "劳保单号")
    private String orderNo;
    @TableField(exist = false)
    @ApiModelProperty("批量发放")
    private List<LaborIssueDto> laborIssueList;
    /**
     * å‘˜å·¥id
     */
src/main/java/com/ruoyi/lavorissue/service/impl/DeptPositionServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.lavorissue.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.domain.AjaxResult;
@@ -115,8 +116,9 @@
            throw new IllegalArgumentException("无效的部门或岗位ID");
        }
        if(dept.getType() == 2){
            return laborConfMapper.selectList(Wrappers.lambdaQuery(LaborConf.class)
                    .eq(LaborConf::getDeptPositionId, deptId));
            List<Long> ids = new ArrayList<>();
            ids.add(deptId);
            return laborConfMapper.list(ids);
        }
        // 2. é€’归获取当前部门及所有子部门的ID集合
@@ -139,10 +141,9 @@
        if(CollectionUtils.isEmpty(deptPositions)){
            return Collections.emptyList();
        }
        return laborConfMapper.selectList(Wrappers.lambdaQuery(LaborConf.class)
                .in(LaborConf::getDeptPositionId, deptPositions.stream()
                        .map(DeptPosition::getId)
                        .collect(Collectors.toSet())));
        return laborConfMapper.list(deptPositions.stream()
                .map(DeptPosition::getId)
                .collect(Collectors.toList()));
    }
    /**
src/main/resources/mapper/lavorissue/LaborConfMapper.xml
@@ -14,4 +14,16 @@
            </if>
        </where>
    </select>
    <select id="list" resultType="com.ruoyi.lavorissue.pojo.LaborConf">
        SELECT
        t1.*,
        t3.dict_label as dictName
        FROM labor_conf t1
        left join sys_dict_data t3 on t1.dict_id = t3.dict_value
        <where>
            <if test="req != null and req.size() > 0">
                AND t1.dept_position_id in(<foreach collection="req" item="item" separator=",">#{item}</foreach>)
            </if>
        </where>
    </select>
</mapper>
src/main/resources/mapper/lavorissue/LavorIssueMapper.xml
@@ -11,7 +11,7 @@
               t4.dict_label as dictTypeName,
               t5.name as deptName
        from labor_issue t1
        left join staff_join_leave_record t2 on t1.staff_id = t2.id
        left join staff_on_job t2 on t1.staff_id = t2.id
        left join sys_dict_data t3 on t1.dict_id = t3.dict_value
        left join sys_dict_data t4 on t1.dict_type = t4.dict_value
        left join dept_position t5 on t1.dept_position_id = t5.id
@@ -48,7 +48,7 @@
            t4.dict_label as dictTypeName,
               t5.name as deptName
        from labor_issue t1
                 left join staff_join_leave_record t2 on t1.staff_id = t2.id
                 left join staff_on_job t2 on t1.staff_id = t2.id
                 left join sys_dict_data t3 on t1.dict_id = t3.dict_value
                 left join sys_dict_data t4 on t1.dict_type = t4.dict_value
                                                   left join dept_position t5 on t1.dept_position_id = t5.id