| src/main/java/com/ruoyi/lavorissue/controller/DeptPositionController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/lavorissue/controller/LavorIssueController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/lavorissue/dto/LaborIssueDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/lavorissue/mapper/LaborConfMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/lavorissue/pojo/LaborIssue.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/lavorissue/service/impl/DeptPositionServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/lavorissue/LaborConfMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/lavorissue/LavorIssueMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | 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