From 8c58c1798dfc249ebd7d5012b0de9300ef36319f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=88=90?= <2847920761@qq.com> Date: Wed, 19 Feb 2025 18:33:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AF=B7=E5=81=87=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wgz/controller/WgzAppController.java | 35 ++++++-- .../IBgtProjectRecruitApplyService.java | 12 +++ .../service/IBgtProjectRecruitService.java | 13 +++ .../BgtProjectRecruitApplyServiceImpl.java | 26 ++++++ .../impl/BgtProjectRecruitServiceImpl.java | 13 +++ .../java/com/ruoyi/common/bo/PageReq.java | 26 ++++++ .../wgz/bo/req/WgzAppCancelLeaveReq.java | 19 +++++ .../bo/req/WgzAppLeaveHistoryListPageReq.java | 15 ++++ ...eaveRes.java => WgzAppSubmitLeaveReq.java} | 6 +- .../bo/res/WgzAppLeaveHistoryListPageRes.java | 81 +++++++++++++++++++ ...rRes.java => WgzUserDailyCalendarRes.java} | 4 +- .../java/com/ruoyi/wgz/domain/WgzLeave.java | 9 ++- .../com/ruoyi/wgz/mapper/WgzLeaveMapper.java | 10 +++ .../wgz/service/IWgzDailyClockService.java | 5 +- .../ruoyi/wgz/service/IWgzLeaveService.java | 18 ++++- .../impl/WgzDailyClockServiceImpl.java | 7 +- .../wgz/service/impl/WgzLeaveServiceImpl.java | 68 ++++++++++++++-- .../resources/mapper/wgz/WgzLeaveMapper.xml | 14 ++++ 18 files changed, 348 insertions(+), 33 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/common/bo/PageReq.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppCancelLeaveReq.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/WgzAppLeaveHistoryListPageReq.java rename ruoyi-system/src/main/java/com/ruoyi/wgz/bo/req/{WgzAppSubmitLeaveRes.java => WgzAppSubmitLeaveReq.java} (80%) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/WgzAppLeaveHistoryListPageRes.java rename ruoyi-system/src/main/java/com/ruoyi/wgz/bo/res/{WfzUserDailyCalendarRes.java => WgzUserDailyCalendarRes.java} (79%) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java index 47b28f4..1867f1a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wgz/controller/WgzAppController.java @@ -16,9 +16,9 @@ import com.ruoyi.wgz.bo.rests.WgzAppGetTestPaperThree; import com.ruoyi.wgz.bo.rests.WgzAppGetTestPaperTwo; import com.ruoyi.wgz.bo.rests.WgzAutonymAnnex; import com.ruoyi.wgz.bo.req.*; +import com.ruoyi.wgz.domain.WgzDailyClock; import com.ruoyi.wgz.domain.WgzQuestionsConfiguration; import com.ruoyi.wgz.service.*; -import com.sun.org.apache.xpath.internal.operations.Bool; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -169,14 +169,33 @@ public class WgzAppController { } /** - * 【我的】【请假】 提交请假 + * 【我的】【请假】 历史请假列表 */ - @ApiOperation("我的-请假·提交请假") + @ApiOperation("我的-请假·历史请假列表") + @PreAuthorize("@ss.hasPermi('wgzApp:user:userLeaveHistoryList')") + @GetMapping("/WgzAppUserLeaveHistoryListPage")//PageReq + public TableDataInfo userLeaveHistoryListPage(@Validated WgzAppLeaveHistoryListPageReq req) { + return iWgzLeaveService.userLeaveHistoryListPage(req); + } + + /** + * 【我的】【请假】 提交请假(上下班的时间需要等待zt创建好mysql字段) + */ + @ApiOperation("我的-请假·提交请假(上下班的时间需要等待zt创建好mysql字段)") @PreAuthorize("@ss.hasPermi('wgzApp:user:userSubmitLeave')") @PostMapping("/WgzAppSubmitLeave") - public AjaxResult userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveRes req) { -// iWgzLeaveService - return AjaxResult.success(true); + public AjaxResult userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveReq req) { + return AjaxResult.success(iWgzLeaveService.userSubmitLeave(req)); + } + + /** + * 【我的】【请假】 取消请假 + */ + @ApiOperation("我的-请假·取消请假") + @PreAuthorize("@ss.hasPermi('wgzApp:user:userCancelLeave')") + @PutMapping("/WgzAppUserCancelLeave") + public AjaxResult userCancelLeave(@Validated @RequestBody WgzAppCancelLeaveReq req) { + return AjaxResult.success(iWgzLeaveService.userCancelLeave(req)); } /** @@ -185,8 +204,8 @@ public class WgzAppController { @ApiOperation("日报-日报日历") @PreAuthorize("@ss.hasPermi('wgzApp:user:userDailyCalendar')") @GetMapping("/WgzUserDailyCalendar") - public AjaxResult userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req) { - WfzUserDailyCalendarRes wfzUserDailyCalendarRes = iWgzDailyClockService.userDailyCalendar(req); + public AjaxResult userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req) { + WgzUserDailyCalendarRes wfzUserDailyCalendarRes = iWgzDailyClockService.userDailyCalendar(req); return AjaxResult.success(wfzUserDailyCalendarRes); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java index 3d8b0bc..b2417af 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java @@ -60,4 +60,16 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus appQueryList(BgtProjectRecruitApplyQueryDTO dto); + /** + * LC-APP相关 + * ================================================================================================================= + * ================================================================================================================= + * ================================================================================================================= + */ + + /** + * 根据用户唯一标识去查询当前进场的工地信息 + */ + BgtProjectRecruitApply selectByUserIdProjectRecruitApplyId(Long id); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java index d5d9cad..85cf811 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java @@ -66,4 +66,17 @@ public interface IBgtProjectRecruitService extends IServicePlus appQueryList(BgtProjectRecruitApplyQueryDTO dto) { return baseMapper.appQueryList(dto); } + + + /** + * LC-APP相关 + * ================================================================================================================= + * ================================================================================================================= + * ================================================================================================================= + */ + + /** + * 根据用户唯一标识去查询当前进场的工地信息 + */ + @Override + public BgtProjectRecruitApply selectByUserIdProjectRecruitApplyId(Long id) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(BgtProjectRecruitApply::getUserId, id). + eq(BgtProjectRecruitApply::getStatus, "1"). + isNotNull(BgtProjectRecruitApply::getEntryTime). + ne(BgtProjectRecruitApply::getEntryTime, ""); + List bgtProjectRecruitApplies = baseMapper.selectList(lqw); + if (bgtProjectRecruitApplies.size()>1){ + throw new RuntimeException("异常,查询到用户同时在多个工地务工!"); + } + return bgtProjectRecruitApplies.get(0); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java index 4e6cfc7..4a52a0b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java @@ -138,4 +138,17 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl dailyCalendar; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/domain/WgzLeave.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/domain/WgzLeave.java index 95e8d4f..8e5035b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/domain/WgzLeave.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/domain/WgzLeave.java @@ -72,8 +72,8 @@ public class WgzLeave implements Serializable { private Long auditorUserId; /** 审核状态(0待审核 1审核中 2已同意 3已拒绝) */ - @Excel(name = "审核状态" , readConverterExp = "0=待审核,1=审核中,2=已同意,3=已拒绝") - @ApiModelProperty("审核状态(0待审核 1审核中 2已同意 3已拒绝)") + @Excel(name = "审核状态" , readConverterExp = "0=待审核,1=审核中,2=已同意,3=已拒绝,4=已取消") + @ApiModelProperty("审核状态(0待审核 1审核中 2已同意 3已拒绝 4=已取消)") private String auditorType; /** 审核意见 */ @@ -96,6 +96,11 @@ public class WgzLeave implements Serializable { @ApiModelProperty("下班时间") private LocalTime closingTime; + /** 取消请假 */ + @Excel(name = "取消请假" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("取消请假") + private LocalDateTime cancelLeave; + /** 删除标志(0代表存在 2代表删除) */ @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") @ApiModelProperty("删除标志(0代表存在 2代表删除)") diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/mapper/WgzLeaveMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/mapper/WgzLeaveMapper.java index 0e3182e..4a4e004 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/mapper/WgzLeaveMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/mapper/WgzLeaveMapper.java @@ -1,5 +1,8 @@ package com.ruoyi.wgz.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes; import com.ruoyi.wgz.domain.WgzLeave; import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; @@ -15,4 +18,11 @@ import org.apache.ibatis.annotations.CacheNamespace; @CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) public interface WgzLeaveMapper extends BaseMapperPlus { + /** + * 查询关联数据并支持分页 + * @param page 分页对象 + * @return 分页查询结果 + */ + Page userLeaveHistoryListPage(Page page); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java index 1106a63..5d352b3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzDailyClockService.java @@ -1,8 +1,7 @@ package com.ruoyi.wgz.service; -import com.ruoyi.wgz.bo.req.WgzAppJobListingReq; import com.ruoyi.wgz.bo.req.WgzAppUserDailyCalendarRes; -import com.ruoyi.wgz.bo.res.WfzUserDailyCalendarRes; +import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes; import com.ruoyi.wgz.domain.WgzDailyClock; import com.ruoyi.wgz.bo.WgzDailyClockQueryBo; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; @@ -67,5 +66,5 @@ public interface IWgzDailyClockService extends IServicePlus { /** * 日报日历 */ - WfzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req); + WgzUserDailyCalendarRes userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzLeaveService.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzLeaveService.java index 30d3e30..09b4110 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzLeaveService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzLeaveService.java @@ -1,11 +1,13 @@ package com.ruoyi.wgz.service; -import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveRes; +import com.ruoyi.wgz.bo.req.WgzAppCancelLeaveReq; +import com.ruoyi.wgz.bo.req.WgzAppLeaveHistoryListPageReq; +import com.ruoyi.wgz.bo.req.WgzAppSubmitLeaveReq; +import com.ruoyi.wgz.bo.res.WgzAppLeaveHistoryListPageRes; import com.ruoyi.wgz.domain.WgzLeave; import com.ruoyi.wgz.bo.WgzLeaveQueryBo; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; -import com.sun.org.apache.xpath.internal.operations.Bool; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; @@ -68,5 +70,15 @@ public interface IWgzLeaveService extends IServicePlus { /* * 提交请假申请 */ - Boolean userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveRes req); + Boolean userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveReq req); + + /* + * 历史请假申请记录 + */ + TableDataInfo userLeaveHistoryListPage(@Validated WgzAppLeaveHistoryListPageReq req); + + /* + * 取消请假申请 + */ + Boolean userCancelLeave(@Validated @RequestBody WgzAppCancelLeaveReq req); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java index ff51a8a..0ee2f20 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzDailyClockServiceImpl.java @@ -5,10 +5,9 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.wgz.bo.req.WgzAppUserDailyCalendarRes; -import com.ruoyi.wgz.bo.res.WfzUserDailyCalendarRes; +import com.ruoyi.wgz.bo.res.WgzUserDailyCalendarRes; import com.ruoyi.wgz.bo.rests.WgzAppAttachmentAcquisitionTwo; import org.springframework.stereotype.Service; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; @@ -108,7 +107,7 @@ public class WgzDailyClockServiceImpl extends ServicePlusImpl implements IWgzLeaveService { + @Autowired + private IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService; + + @Autowired + private IBgtProjectRecruitService iBgtProjectRecruitService; @Override public WgzLeave queryById(Long id){ @@ -102,8 +123,45 @@ public class WgzLeaveServiceImpl extends ServicePlusImpl0; + } + + @Override + public TableDataInfo userLeaveHistoryListPage(WgzAppLeaveHistoryListPageReq req) { + Page queryDTOPage = new Page<>(); + queryDTOPage.setCurrent(req.getPageNum()); + queryDTOPage.setSize(req.getPageSize()); + return PageUtils.buildDataInfo(baseMapper.userLeaveHistoryListPage(queryDTOPage)); + } + + @Override + public Boolean userCancelLeave(WgzAppCancelLeaveReq req) { + WgzLeave wgzLeave = new WgzLeave(). + setId(req.getId()). + setAuditorType("4"). + setCancelLeave(LocalDateTime.now()); + return baseMapper.updateById(wgzLeave)>0; } } diff --git a/ruoyi-system/src/main/resources/mapper/wgz/WgzLeaveMapper.xml b/ruoyi-system/src/main/resources/mapper/wgz/WgzLeaveMapper.xml index d999b16..a795e80 100644 --- a/ruoyi-system/src/main/resources/mapper/wgz/WgzLeaveMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wgz/WgzLeaveMapper.xml @@ -26,5 +26,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + +