This commit is contained in:
zt
2025-03-07 14:45:49 +08:00
parent b0e8333724
commit 3ec18b78ae
50 changed files with 511 additions and 188 deletions

View File

@ -1,17 +1,17 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDTO;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDayDTO;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDetailDTO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceDetailVO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceVO;
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.bgt.domain.vo.*;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wgz.domain.WgzUser;
import com.ruoyi.wgz.service.IWgzAttendanceService;
import com.ruoyi.wgz.service.IWgzUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -33,30 +33,51 @@ public class AppBgtAttendanceController {
private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
private final IWgzUserService wgzUserService;
@ApiOperation("App包工头总体考勤情况-统计")
@GetMapping("attendance")
public AjaxResult<BgtAttendanceVO> attendanceDetail(@Validated BgtAttendanceDTO dto) {
return AjaxResult.success(attendanceService.attendanceDetail(dto));
@ApiOperation("总体考勤情况-统计")
@GetMapping("/count")
public AjaxResult<BgtAttendanceVO> allCount(@Validated BgtAttendanceDTO dto) {
return AjaxResult.success(attendanceService.allCount(dto));
}
@ApiOperation("App包工头总体考勤情况-柱状图")
@GetMapping("attendanceList")
public AjaxResult<List<BgtDayAttendanceCountVO>> attendanceList(@Validated BgtAttendanceDTO dto) {
return AjaxResult.success(attendanceService.attendanceList(dto));
@ApiOperation("总体考勤情况-柱状图")
@GetMapping("/histogram")
public AjaxResult<List<BgtDayAttendanceCountVO>> histogram(@Validated BgtAttendanceDTO dto) {
return AjaxResult.success(attendanceService.histogram(dto));
}
@ApiOperation("App包工头总体考勤情况-人员出勤情况")
@GetMapping("/todayAttendanceList")
public TableDataInfo<BgtProjectRecruitApplyVO> todayAttendanceList(@Validated BgtAttendanceDayDTO req) {
return iBgtProjectRecruitApplyService.dayAttendanceList(req);
@ApiOperation("总体考勤情况-人员出勤情况")
@GetMapping("/user")
public TableDataInfo<BgtProjectRecruitApplyVO> userList(@Validated BgtAttendanceDayDTO req) {
return iBgtProjectRecruitApplyService.userList(req);
}
@ApiOperation("务工者个人考勤统计详情-基础信息")
@GetMapping("/person/baseInfo")
public AjaxResult<BgtAttendancePersonBaseInfoVO> baseInfo(@Validated BgtAttendanceDetailDTO dto) {
@ApiOperation("App包工头考勤统计详情")
@GetMapping("attendanceDetail")
public AjaxResult<BgtAttendanceDetailVO> attendanceDetail(@Validated BgtAttendanceDetailDTO dto) {
return AjaxResult.success(attendanceService.bgtAttendanceDetail(dto));
BgtAttendancePersonBaseInfoVO vo = new BgtAttendancePersonBaseInfoVO();
//务工者信息
WgzUser wgzUser = wgzUserService.findByUserId(dto.getUserId());
vo.setUserId(wgzUser.getUserId());
vo.setUsername(wgzUser.getUsername());
vo.setAvatarName(wgzUser.getAvatarName());
//务工者的申请信息
BgtProjectRecruitApply recruitApply = iBgtProjectRecruitApplyService.getOne(dto.getTaskId(),wgzUser.getUserId());
vo.setEntryTime(recruitApply.getEntryTime());
vo.setLeaveTime(recruitApply.getLeaveTime());
vo.setStatus(recruitApply.getStatus());
return AjaxResult.success(vo);
}
@ApiOperation("务工者个人考勤统计详情-统计数据")
@GetMapping("/person/count")
public AjaxResult<BgtAttendancePersonCountVO> personCount(@Validated BgtAttendanceDetailDTO dto) {
return AjaxResult.success(attendanceService.personCount(dto));
}
}

View File

@ -1,15 +1,21 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.BgtMessage;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtMessageDetailDTO;
import com.ruoyi.bgt.domain.dto.BgtMessageMyListDTO;
import com.ruoyi.bgt.domain.vo.BgtMessageCountVO;
import com.ruoyi.bgt.domain.vo.BgtMessageDetailVO;
import com.ruoyi.bgt.domain.vo.BgtMessageVO;
import com.ruoyi.bgt.service.IBgtMessageService;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.RecruitApplyStatus;
import com.ruoyi.wgz.bo.req.WgzAppPersonalBasicInformationReq;
import com.ruoyi.wgz.bo.res.WgzAppPersonalBasicInformationRes;
import com.ruoyi.wgz.service.IWgzUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -30,6 +36,10 @@ public class AppBgtMessageController extends BaseController {
private final IBgtMessageService iBgtMessageService;
private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
private final IWgzUserService wgzUserService;
@ApiOperation("未读消息统计")
@GetMapping("/countUnread")
public AjaxResult<BgtMessageCountVO> count() {
@ -57,5 +67,16 @@ public class AppBgtMessageController extends BaseController {
return AjaxResult.success(iBgtMessageService.updateById(bgtMessage));
}
@ApiOperation("App务工者消息个人详情")
@GetMapping("/userInfo")
public AjaxResult<WgzAppPersonalBasicInformationRes> wgzMessageInformation(Long userId, Long recruitApplyId) {
WgzAppPersonalBasicInformationReq req = new WgzAppPersonalBasicInformationReq();
req.setUserId(userId);
WgzAppPersonalBasicInformationRes res = wgzUserService.userPersonalBasicInformation(req);
BgtProjectRecruitApply apply = iBgtProjectRecruitApplyService.getById(recruitApplyId);
res.setIsChoose(!apply.getStatus().equals(RecruitApplyStatus.SIGN_UP.getCode()));
return AjaxResult.success(res);
}
}

View File

@ -1,6 +1,5 @@
package com.ruoyi.web.controller.bgt;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyConsentDTO;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
@ -13,7 +12,6 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.RecruitApplyStatus;
import com.ruoyi.wgz.bo.req.WgzAppPersonalBasicInformationReq;
import com.ruoyi.wgz.bo.res.WgzAppPersonalBasicInformationRes;
import com.ruoyi.wgz.service.IWgzUserService;
@ -56,10 +54,11 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
return iBgtProjectRecruitApplyService.appQueryPageList(dto);
}
@ApiOperation("App务工者列表")
@GetMapping("/listAll")
public AjaxResult<List<BgtProjectRecruitApplyVO>> list(@Validated BgtProjectRecruitApplyQueryDTO dto) {
return AjaxResult.success(iBgtProjectRecruitApplyService.appQueryList(dto));
return AjaxResult.success(iBgtProjectRecruitApplyService.appAllList(dto));
}
@ApiOperation("App务工者个人详情")
@ -68,18 +67,6 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
return AjaxResult.success(wgzUserService.userPersonalBasicInformation(req));
}
@ApiOperation("App务工者消息个人详情")
@GetMapping("/userMessageInfo")
public AjaxResult<WgzAppPersonalBasicInformationRes> wgzMessageInformation(Long userId,Long recruitId) {
WgzAppPersonalBasicInformationReq req = new WgzAppPersonalBasicInformationReq();
req.setUserId(userId);
WgzAppPersonalBasicInformationRes res = wgzUserService.userPersonalBasicInformation(req);
BgtProjectRecruitApply one = iBgtProjectRecruitApplyService.getOne(Wrappers.<BgtProjectRecruitApply>lambdaQuery()
.eq(BgtProjectRecruitApply::getUserId, userId)
.eq(BgtProjectRecruitApply::getRecruitId, recruitId));
res.setIsChoose(!one.getStatus().equals(RecruitApplyStatus.SIGN_UP.getCode()));
return AjaxResult.success(res);
}
@ApiOperation("App务工者招工报名")
@Log(title = "App务工者招工报名", businessType = BusinessType.INSERT)
@ -98,7 +85,6 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
}
@ApiOperation("App务工者退场")
@Log(title = "App务工者退场", businessType = BusinessType.UPDATE)
@RepeatSubmit

View File

@ -1,10 +1,13 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyUserDTO;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitDetailVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitDetailWgzListVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@ -20,6 +23,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 包工头招工Controller
@ -35,38 +39,46 @@ public class AppBgtProjectRecruitController extends BaseController {
private final IBgtProjectRecruitService iBgtProjectRecruitService;
private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
/**
* 查询包工头招工列表 状态为通过和报名
*/
@ApiOperation(value = "我的招工",notes = "1.查询包工头招工列表 状态为通过(1)和报名(0)")
@ApiOperation(value = "我的招工(分页)",notes = "1.查询包工头招工列表 状态为通过(1)和报名(0)")
@GetMapping("/list")
public TableDataInfo<BgtProjectRecruitVO> list(@Validated BgtProjectRecruitQueryDTO dto) {
return iBgtProjectRecruitService.appQueryPageList(dto);
}
@ApiOperation(value = "我的招工列表",notes = "1.查询包工头招工列表 状态为通过(1)和报名(0)")
@GetMapping("/allList")
public AjaxResult<List<BgtProjectRecruit>> allList() {
return AjaxResult.success(iBgtProjectRecruitService.appQueryList());
}
/**
* 获取包工头招工详细信息
*/
@ApiOperation("我的招工任务详情")
@ApiOperation("我的招工任务详情-基础信息")
@GetMapping("/{id}")
public AjaxResult<BgtProjectRecruitDetailVO> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iBgtProjectRecruitService.appQueryById(id));
}
@ApiOperation("我的招工任务详情-务工者申请列表")
@GetMapping("/wgzList/{id}")
public AjaxResult<BgtProjectRecruitDetailWgzListVO> wgzList(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iBgtProjectRecruitService.wgzList(id));
@ApiOperation(value = "我的招工任务详情-务工者申请列表分页")
@GetMapping("/wgzList")
public TableDataInfo<BgtProjectRecruitApplyVO> listPage(@Validated BgtProjectRecruitApplyUserDTO dto) {
return iBgtProjectRecruitApplyService.recruitApplyList(dto);
}
@ApiOperation("务工者申请列表数量统计")
@ApiOperation("我的招工任务详情-务工者申请列表数量统计")
@GetMapping("/wgzCount/{id}")
public AjaxResult<BgtProjectRecruitDetailWgzListVO> wgzCount(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
BgtProjectRecruitDetailWgzListVO bgtProjectRecruitDetailWgzListVO = iBgtProjectRecruitService.wgzList(id);
bgtProjectRecruitDetailWgzListVO.setApplyList(null);
BgtProjectRecruitDetailWgzListVO bgtProjectRecruitDetailWgzListVO = iBgtProjectRecruitService.wgzCount(id);
return AjaxResult.success(bgtProjectRecruitDetailWgzListVO);
}

View File

@ -1,8 +1,16 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskUseCountVO;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.fbs.domain.FbsProjectTask;
import com.ruoyi.fbs.domain.dto.AppTaskDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
@ -11,10 +19,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.List;
@ -38,7 +43,7 @@ public class AppBgtProjectTaskController extends BaseController {
* 我的任务列表 任务状态 申请(0) 进行(1) 完成(2) 是否我的任务 true
*
*/
@ApiOperation(value = "App包工头任务列表/我的任务"
@ApiOperation(value = "包工头任务列表/我的任务"
,notes = "1.首页任务列表 任务状态(status) 申请(0) 是否我的任务(myTask) false\n"+
"2.我的任务列表 任务状态(status) 申请(0) 进行(1) 完成(2) 是否我的任务(myTask) true")
@GetMapping("/list")
@ -46,7 +51,7 @@ public class AppBgtProjectTaskController extends BaseController {
return iFbsProjectTaskService.appQueryPageList(dto);
}
@ApiOperation("App包工头任务列表不分页")
@ApiOperation("包工头进行中任务列表")
@GetMapping("/listAll")
public AjaxResult<List<AppTaskVO>> list() {
return AjaxResult.success(iFbsProjectTaskService.appQueryList());
@ -88,6 +93,33 @@ public class AppBgtProjectTaskController extends BaseController {
return AjaxResult.success(iFbsProjectTaskService.recruit(id));
}
@ApiOperation(value = "项目任务详细信息-务工人员分页")
@GetMapping("/taskUser")
public TableDataInfo<BgtProjectRecruitApplyVO> taskUserList(@Validated BgtProjectTaskUserDTO dto) {
return iFbsProjectTaskService.taskUserList(dto);
}
@ApiOperation(value = "项目任务详细信息-务工人员统计")
@GetMapping("/taskUserCount/{id}")
public AjaxResult<BgtProjectTaskUseCountVO> taskUserCount(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsProjectTaskService.taskUserCount(id));
}
@ApiOperation("新增项目")
@Log(title = "包工头新增项目", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Boolean> add(@Validated @RequestBody FbsProjectTask bo) {
Long num = 1L;
bo.setProjectId(num);
bo.setSectionId(num);
bo.setSubId(num);
bo.setUserId(SecurityUtils.getAppUserId());
bo.setStatus("1");
return AjaxResult.success(iFbsProjectTaskService.insert(bo));
}
}

View File

@ -39,7 +39,7 @@ public class AppBgtProjectTaskProgressController extends BaseController {
/**
* 查询包工头项目任务进度列表
*/
@ApiOperation("App查询包工头项目任务进度列表")
@ApiOperation("查询项目任务进度列表")
@GetMapping("/list")
public TableDataInfo<BgtProjectTaskProgressVO> list(@Validated BgtProjectTaskProgressQueryDTO bo) {
return iBgtProjectTaskProgressService.appQueryPageList(bo);
@ -49,7 +49,7 @@ public class AppBgtProjectTaskProgressController extends BaseController {
/**
* 获取包工头项目任务进度详细信息
*/
@ApiOperation("App获取包工头项目任务进度详细信息")
@ApiOperation("获取项目任务进度详细信息")
@GetMapping("/{id}")
public AjaxResult<BgtProjectTaskProgressDetailVO> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@ -59,7 +59,7 @@ public class AppBgtProjectTaskProgressController extends BaseController {
/**
* 新增包工头项目任务进度
*/
@ApiOperation("App上传任务进度")
@ApiOperation("上传任务进度")
@Log(title = "App上传任务进度", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()