正在编写请假模块

This commit is contained in:
2025-02-19 16:10:02 +08:00
parent 3ae103157b
commit f855833966
22 changed files with 1432 additions and 29 deletions

View File

@ -1,34 +1,33 @@
package com.ruoyi.web.controller.wgz.controller;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.bo.AnnexQueryBo;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.domain.Annex;
import com.ruoyi.common.service.IAnnexService;
import com.ruoyi.system.service.ISysDictTypeService;
import com.ruoyi.wgz.bo.res.WgzAppGetTestPaperRes;
import com.ruoyi.wgz.bo.res.WgzAppSubmitATestPaperRes;
import com.ruoyi.wgz.bo.res.*;
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.bo.res.WgzAppAttachmentAcquisitionRes;
import com.ruoyi.wgz.bo.res.WgzAppPersonalBasicInformationRes;
import com.ruoyi.wgz.domain.WgzQuestionsConfiguration;
import com.ruoyi.wgz.service.IWgzQuestionBankService;
import com.ruoyi.wgz.service.IWgzQuestionSaveService;
import com.ruoyi.wgz.service.IWgzQuestionsConfigurationService;
import com.ruoyi.wgz.service.IWgzUserService;
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;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
@ -38,7 +37,7 @@ import java.util.List;
* @author ruoyi
* @date 2025-02-14
*/
@Api(value = "APP务工者接口", tags = {"APP务工者接口管理"})
@Api(value = "APP务工者接口", tags = {"务工者-APP接口"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@ -62,22 +61,48 @@ public class WgzAppController {
@Autowired
private IWgzQuestionSaveService iWgzQuestionSaveService;
@Autowired
private IBgtProjectRecruitService iBgtProjectRecruitService;
@Autowired
private IWgzDailyClockService iWgzDailyClockService;
@Autowired
private IWgzLeaveService iWgzLeaveService;
/**
* 【注册】务工者注册
*/
@ApiOperation("APP务工者注册")
@ApiOperation("APP务工者-注册")
@PreAuthorize("@ss.hasPermi('wgzApp:user:register')")
@PostMapping("/wgzRegister")
public AjaxResult<Boolean> userRegister(@Validated @RequestBody WgzAppUserRegisterReq bo) {
return AjaxResult.success(iWgzUserService.userRegister(bo));
}
/**
* 【首页】【首页界面】招工列表
*/
@ApiOperation("首页-招工列表")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userJobListing')")
@GetMapping("/WgzUserJobListing")
public AjaxResult<WgzAppJobListingRes> userJobListing(@Validated WgzAppJobListingReq req) {
//1、请求转换
BgtProjectRecruitQueryDTO dto = new BgtProjectRecruitQueryDTO();
BeanUtils.copyProperties(req,dto);
//2、查询招工列表信息
TableDataInfo<BgtProjectRecruitVO> info = iBgtProjectRecruitService.appQueryPageList(dto);
//3、将招工信息转换
WgzAppJobListingRes wgzAppJobListingRes = new WgzAppJobListingRes();
BeanUtils.copyProperties(info,wgzAppJobListingRes);
return AjaxResult.success(wgzAppJobListingRes);
}
/**
* 【我的】【个人基本信息】修改用户头像
*/
@ApiOperation("APP务工者-修改用户头像")
@ApiOperation("我的-修改用户头像")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userModifyingUserProfilePicture')")
@PutMapping("/wgzUserModifyingUserProfilePicture")
public AjaxResult<Boolean> userModifyingUserProfilePicture(@Validated @RequestBody WgzAppModifyingUserProfilePictureReq req) {
@ -87,38 +112,27 @@ public class WgzAppController {
/**
* 【我的】【个人基本信息】查询基础用户信息(还未带附件信息)
*/
@ApiOperation("APP务工者-个人基本信息(还未带附件信息)")
@ApiOperation("我的-个人基本信息(还未带附件信息)")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userPersonalBasicInformation')")
@GetMapping("/wgzUserPersonalBasicInformation")
public AjaxResult<WgzAppPersonalBasicInformationRes> userPersonalBasicInformation(@Validated WgzAppPersonalBasicInformationReq req) {
return AjaxResult.success(iWgzUserService.userPersonalBasicInformation(req));
}
// /**
// * 【我的】【实名认证】实名认证·删除附件
// */
// @ApiOperation("APP务工者-实名认证·删除附件")
// @PreAuthorize("@ss.hasPermi('wgzApp:user:userDeleteAttachment')")
// @DeleteMapping("/WgzUserDeleteAttachment/{attachmentId}")
// public AjaxResult<Boolean> userDeleteAttachment(@NotEmpty(message = "主键不能为空") @PathVariable Long attachmentId) {
// return AjaxResult.success(iAnnexService.deleteByIds(attachmentId));
// }
/**
* 【我的】【实名认证】实名认证
*/
@ApiOperation("APP务工者-实名认证")
@ApiOperation("我的-实名认证")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userRealNameAuthentication')")
@PutMapping("/wgzUserRealNameAuthentication")
public AjaxResult<Boolean> userRealNameAuthentication(@Validated @RequestBody WgzAppRealNameAuthenticationReq req) {
return AjaxResult.success(iWgzUserService.userRealNameAuthentication(req));
}
/**
* 【我的】【岗前培训】获取安全教育考试试卷(随机获取)
*/
@ApiOperation("APP务工者-岗前培训·获取随机试卷")
@ApiOperation("我的-岗前培训·获取随机试卷")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userGetTestPaper')")
@GetMapping("/WgzUserGetTestPaper")
public AjaxResult<WgzAppGetTestPaperRes> userGetTestPaper() {
@ -147,13 +161,36 @@ public class WgzAppController {
/**
* 【我的】【岗前培训】提交用户的试卷(只保存最高分的试卷信息)
*/
@ApiOperation("APP务工者-岗前培训·提交试卷")
@ApiOperation("我的-岗前培训·提交试卷")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userSubmitATestPaper')")
@PostMapping("/WgzUserSubmitATestPaper")
public AjaxResult<WgzAppSubmitATestPaperRes> userSubmitATestPaper(@Validated @RequestBody WgzAppSubmitATestPaperReq req) {
return AjaxResult.success(iWgzQuestionSaveService.userSubmitATestPaper(req));
}
/**
* 【我的】【请假】 提交请假
*/
@ApiOperation("我的-请假·提交请假")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userSubmitLeave')")
@PostMapping("/WgzAppSubmitLeave")
public AjaxResult<Boolean> userSubmitLeave(@Validated @RequestBody WgzAppSubmitLeaveRes req) {
// iWgzLeaveService
return AjaxResult.success(true);
}
/**
* 【日报】日报日历
*/
@ApiOperation("日报-日报日历")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userDailyCalendar')")
@GetMapping("/WgzUserDailyCalendar")
public AjaxResult<WfzUserDailyCalendarRes> userDailyCalendar(@Validated WgzAppUserDailyCalendarRes req) {
WfzUserDailyCalendarRes wfzUserDailyCalendarRes = iWgzDailyClockService.userDailyCalendar(req);
return AjaxResult.success(wfzUserDailyCalendarRes);
}
/**
* 通用接口
* =================================================================================================================
@ -167,7 +204,7 @@ public class WgzAppController {
* 【我的】【签协议】协议列表
1-劳动合同
*/
@ApiOperation("APP务工者-通用·附件获取")
@ApiOperation("通用·附件获取")
@PreAuthorize("@ss.hasPermi('wgzApp:user:userAttachmentAcquisition')")
@GetMapping("/wgzUserAttachmentAcquisition")
public AjaxResult<WgzAppAttachmentAcquisitionRes> userAttachmentAcquisition(@Validated WgzAppAttachmentAcquisitionReq req) {
@ -204,6 +241,8 @@ public class WgzAppController {
return AjaxResult.success(wgzAppAttachmentAcquisitionRes.setWgzAutonymAnnex(resData));
}
/**
* 控制层业务
* =================================================================================================================
@ -211,7 +250,6 @@ public class WgzAppController {
* =================================================================================================================
*/
/**
* 创建题目板块
* @param topicPrefix 板块标题前缀
@ -227,4 +265,16 @@ public class WgzAppController {
section.setList(questions);
return section;
}
// /**
// * 【我的】【实名认证】实名认证·删除附件
// */
// @ApiOperation("APP务工者-实名认证·删除附件")
// @PreAuthorize("@ss.hasPermi('wgzApp:user:userDeleteAttachment')")
// @DeleteMapping("/WgzUserDeleteAttachment/{attachmentId}")
// public AjaxResult<Boolean> userDeleteAttachment(@NotEmpty(message = "主键不能为空") @PathVariable Long attachmentId) {
// return AjaxResult.success(iAnnexService.deleteByIds(attachmentId));
// }
}

View File

@ -0,0 +1,108 @@
package com.ruoyi.web.controller.wgz.controller;
import java.util.List;
import java.util.Arrays;
import com.ruoyi.wgz.domain.WgzDailyClock;
import lombok.RequiredArgsConstructor;
import javax.validation.constraints.*;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.wgz.bo.WgzDailyClockQueryBo;
import com.ruoyi.wgz.service.IWgzDailyClockService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* 日报打卡Controller
*
* @author ruoyi
* @date 2025-02-18
*/
@Api(value = "日报打卡控制器", tags = {"日报打卡管理"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/wgz/clock")
public class WgzDailyClockController extends BaseController {
private final IWgzDailyClockService iWgzDailyClockService;
/**
* 查询日报打卡列表
*/
@ApiOperation("查询日报打卡列表")
@PreAuthorize("@ss.hasPermi('wgz:clock:list')")
@GetMapping("/list")
public TableDataInfo<WgzDailyClock> list(@Validated WgzDailyClockQueryBo bo) {
return iWgzDailyClockService.queryPageList(bo);
}
/**
* 导出日报打卡列表
*/
@ApiOperation("导出日报打卡列表")
@PreAuthorize("@ss.hasPermi('wgz:clock:export')")
@Log(title = "日报打卡", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult<WgzDailyClock> export(@Validated WgzDailyClockQueryBo bo) {
List<WgzDailyClock> list = iWgzDailyClockService.queryList(bo);
ExcelUtil<WgzDailyClock> util = new ExcelUtil<WgzDailyClock>(WgzDailyClock.class);
return util.exportExcel(list, "日报打卡");
}
/**
* 获取日报打卡详细信息
*/
@ApiOperation("获取日报打卡详细信息")
@PreAuthorize("@ss.hasPermi('wgz:clock:query')")
@GetMapping("/{id}")
public AjaxResult<WgzDailyClock> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iWgzDailyClockService.queryById(id));
}
/**
* 新增日报打卡
*/
@ApiOperation("新增日报打卡")
@PreAuthorize("@ss.hasPermi('wgz:clock:add')")
@Log(title = "日报打卡", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Void> add(@Validated @RequestBody WgzDailyClock bo) {
return toAjax(iWgzDailyClockService.insert(bo) ? 1 : 0);
}
/**
* 修改日报打卡
*/
@ApiOperation("修改日报打卡")
@PreAuthorize("@ss.hasPermi('wgz:clock:edit')")
@Log(title = "日报打卡", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Void> edit(@Validated @RequestBody WgzDailyClock bo) {
return toAjax(iWgzDailyClockService.update(bo) ? 1 : 0);
}
/**
* 删除日报打卡
*/
@ApiOperation("删除日报打卡")
@PreAuthorize("@ss.hasPermi('wgz:clock:remove')")
@Log(title = "日报打卡" , businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iWgzDailyClockService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
}
}

View File

@ -0,0 +1,108 @@
package com.ruoyi.web.controller.wgz.controller;
import java.util.List;
import java.util.Arrays;
import com.ruoyi.wgz.domain.WgzLeave;
import lombok.RequiredArgsConstructor;
import javax.validation.constraints.*;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.wgz.bo.WgzLeaveQueryBo;
import com.ruoyi.wgz.service.IWgzLeaveService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* 请假Controller
*
* @author ruoyi
* @date 2025-02-19
*/
@Api(value = "请假控制器", tags = {"请假管理"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/wgz/leave")
public class WgzLeaveController extends BaseController {
private final IWgzLeaveService iWgzLeaveService;
/**
* 查询请假列表
*/
@ApiOperation("查询请假列表")
@PreAuthorize("@ss.hasPermi('wgz:leave:list')")
@GetMapping("/list")
public TableDataInfo<WgzLeave> list(@Validated WgzLeaveQueryBo bo) {
return iWgzLeaveService.queryPageList(bo);
}
/**
* 导出请假列表
*/
@ApiOperation("导出请假列表")
@PreAuthorize("@ss.hasPermi('wgz:leave:export')")
@Log(title = "请假", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult<WgzLeave> export(@Validated WgzLeaveQueryBo bo) {
List<WgzLeave> list = iWgzLeaveService.queryList(bo);
ExcelUtil<WgzLeave> util = new ExcelUtil<WgzLeave>(WgzLeave.class);
return util.exportExcel(list, "请假");
}
/**
* 获取请假详细信息
*/
@ApiOperation("获取请假详细信息")
@PreAuthorize("@ss.hasPermi('wgz:leave:query')")
@GetMapping("/{id}")
public AjaxResult<WgzLeave> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iWgzLeaveService.queryById(id));
}
/**
* 新增请假
*/
@ApiOperation("新增请假")
@PreAuthorize("@ss.hasPermi('wgz:leave:add')")
@Log(title = "请假", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Void> add(@Validated @RequestBody WgzLeave bo) {
return toAjax(iWgzLeaveService.insert(bo) ? 1 : 0);
}
/**
* 修改请假
*/
@ApiOperation("修改请假")
@PreAuthorize("@ss.hasPermi('wgz:leave:edit')")
@Log(title = "请假", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Void> edit(@Validated @RequestBody WgzLeave bo) {
return toAjax(iWgzLeaveService.update(bo) ? 1 : 0);
}
/**
* 删除请假
*/
@ApiOperation("删除请假")
@PreAuthorize("@ss.hasPermi('wgz:leave:remove')")
@Log(title = "请假" , businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iWgzLeaveService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
}
}