考勤统计

This commit is contained in:
zt
2025-02-22 13:42:15 +08:00
parent 081f1f23d8
commit 177b5438df
33 changed files with 1154 additions and 53 deletions

View File

@ -2,6 +2,8 @@ package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDTO;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDetailDTO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceDetailVO;
import com.ruoyi.bgt.domain.vo.BgtAttendanceVO;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.wgz.service.IWgzAttendanceService;
@ -23,10 +25,16 @@ public class AppBgtAttendanceController {
private final IWgzAttendanceService attendanceService;
@ApiOperation("App包工头总体考勤情况")
@GetMapping()
@GetMapping("attendance")
public AjaxResult<BgtAttendanceVO> attendanceDetail(@Validated BgtAttendanceDTO dto) {
return AjaxResult.success(attendanceService.attendanceDetail(dto));
}
@ApiOperation("App包工头考勤统计详情")
@GetMapping("attendanceDetail")
public AjaxResult<BgtAttendanceDetailVO> attendanceDetail(@Validated BgtAttendanceDetailDTO dto) {
return AjaxResult.success(attendanceService.bgtAttendanceDetail(dto));
}
}

View File

@ -1,8 +1,10 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtAttendanceDayDTO;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyConsentDTO;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
import com.ruoyi.bgt.domain.dto.BgtScoreDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.common.annotation.Log;
@ -20,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
@ -40,8 +43,8 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
@ApiOperation("App务工者列表")
@GetMapping("/list")
public List<BgtProjectRecruitApplyVO> list(@Validated BgtProjectRecruitApplyQueryDTO dto) {
return iBgtProjectRecruitApplyService.appQueryList(dto);
public AjaxResult<List<BgtProjectRecruitApplyVO>> list(@Validated BgtProjectRecruitApplyQueryDTO dto) {
return AjaxResult.success(iBgtProjectRecruitApplyService.appQueryList(dto));
}
@ApiOperation("App务工者个人详情")
@ -67,5 +70,28 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
}
@ApiOperation("指定日期打卡记录")
@GetMapping("/todayAttendanceList")
public AjaxResult<List<BgtProjectRecruitApplyVO>> todayAttendanceList(@Validated BgtAttendanceDayDTO req) {
return AjaxResult.success(iBgtProjectRecruitApplyService.todayAttendanceList(req));
}
@ApiOperation("App务工者退场")
@Log(title = "App务工者退场", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping("/quit/{id}")
public AjaxResult<Void> quit(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return toAjax(iBgtProjectRecruitApplyService.quit(id) ? 1 : 0);
}
@ApiOperation("App务工者打分")
@Log(title = "App务工者打分", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping("/score")
public AjaxResult<Void> score(@Validated @RequestBody BgtScoreDTO dto) {
return toAjax(iBgtProjectRecruitApplyService.score(dto) ? 1 : 0);
}
}

View File

@ -0,0 +1,109 @@
package com.ruoyi.web.controller.wgz.controller;
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.poi.ExcelUtil;
import com.ruoyi.wgz.bo.WgzScoreRecordQueryBo;
import com.ruoyi.wgz.domain.WgzScoreRecord;
import com.ruoyi.wgz.service.IWgzScoreRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
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.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 务工者评分记录Controller
*
* @author ruoyi
* @date 2025-02-21
*/
@Api(value = "务工者评分记录控制器", tags = {"务工者评分记录管理"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/wgz/record")
public class WgzScoreRecordController extends BaseController {
private final IWgzScoreRecordService iWgzScoreRecordService;
/**
* 查询务工者评分记录列表
*/
@ApiOperation("查询务工者评分记录列表")
@PreAuthorize("@ss.hasPermi('wgz:record:list')")
@GetMapping("/list")
public TableDataInfo<WgzScoreRecord> list(@Validated WgzScoreRecordQueryBo bo) {
return iWgzScoreRecordService.queryPageList(bo);
}
/**
* 导出务工者评分记录列表
*/
@ApiOperation("导出务工者评分记录列表")
@PreAuthorize("@ss.hasPermi('wgz:record:export')")
@Log(title = "务工者评分记录", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult<WgzScoreRecord> export(@Validated WgzScoreRecordQueryBo bo) {
List<WgzScoreRecord> list = iWgzScoreRecordService.queryList(bo);
ExcelUtil<WgzScoreRecord> util = new ExcelUtil<WgzScoreRecord>(WgzScoreRecord.class);
return util.exportExcel(list, "务工者评分记录");
}
/**
* 获取务工者评分记录详细信息
*/
@ApiOperation("获取务工者评分记录详细信息")
@PreAuthorize("@ss.hasPermi('wgz:record:query')")
@GetMapping("/{id}")
public AjaxResult<WgzScoreRecord> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iWgzScoreRecordService.queryById(id));
}
/**
* 新增务工者评分记录
*/
@ApiOperation("新增务工者评分记录")
@PreAuthorize("@ss.hasPermi('wgz:record:add')")
@Log(title = "务工者评分记录", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Void> add(@Validated @RequestBody WgzScoreRecord bo) {
return toAjax(iWgzScoreRecordService.insert(bo) ? 1 : 0);
}
/**
* 修改务工者评分记录
*/
@ApiOperation("修改务工者评分记录")
@PreAuthorize("@ss.hasPermi('wgz:record:edit')")
@Log(title = "务工者评分记录", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Void> edit(@Validated @RequestBody WgzScoreRecord bo) {
return toAjax(iWgzScoreRecordService.update(bo) ? 1 : 0);
}
/**
* 删除务工者评分记录
*/
@ApiOperation("删除务工者评分记录")
@PreAuthorize("@ss.hasPermi('wgz:record:remove')")
@Log(title = "务工者评分记录" , businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iWgzScoreRecordService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
}
}