From d99eaafd4c404de7a95ff7fd942abf4d18810d8c Mon Sep 17 00:00:00 2001 From: zt Date: Tue, 22 Apr 2025 11:08:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zbf/AppZbfProjectController.java | 19 +++-- ...fProjectSubcontractingApplyController.java | 11 ++- ...AppZbfProjectSubcontractingController.java | 14 +++- .../zbf/AppZbfProjectTaskController.java | 13 ++-- .../com/ruoyi/common/enums/ProjectStatus.java | 7 ++ .../vo/BgtPayCalculationDetailListVO.java | 3 + .../common/constants/ZbfMessageConstant.java | 1 + .../wgz/service/IWgzAttendanceService.java | 15 ++++ .../impl/WgzAttendanceServiceImpl.java | 73 ++++++++++++++++++- .../impl/WgzPayCalculationServiceImpl.java | 3 +- .../zbf/domain/dto/ZbfAttendanceDTO.java | 31 ++++++++ .../zbf/domain/dto/ZbfProjectListDTO.java | 2 +- .../domain/dto/ZbfProjectSubApplyListDTO.java | 6 +- .../ruoyi/zbf/domain/vo/ZbfAttendanceVO.java | 44 +++++++++++ .../ZbfProjectSubcontractingApplyListVO.java | 3 + .../service/impl/ZbfProjectServiceImpl.java | 12 ++- .../ZbfProjectSubcontractingApplyMapper.xml | 1 + 17 files changed, 232 insertions(+), 26 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfAttendanceDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfAttendanceVO.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectController.java index 8ac0b65..d1c8a40 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectController.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.fbs.domain.FbsWageApplication; import com.ruoyi.fbs.service.IFbsWageApplicationService; +import com.ruoyi.wgz.service.IWgzAttendanceService; import com.ruoyi.zbf.domain.ZbfProject; import com.ruoyi.zbf.domain.dto.*; import com.ruoyi.zbf.domain.vo.*; @@ -20,6 +21,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; +import java.util.List; /** * 总包方项目Controller @@ -35,7 +37,7 @@ public class AppZbfProjectController extends BaseController { private final IZbfProjectService iZbfProjectService; private final IFbsWageApplicationService iFbsWageApplicationService; - + private final IWgzAttendanceService attendanceService; @ApiOperation("总包方新增项目") @Log(title = "总包方新增项目", businessType = BusinessType.INSERT) @@ -59,7 +61,6 @@ public class AppZbfProjectController extends BaseController { return AjaxResult.success(iZbfProjectService.zbfEditInfo(projectId)); } - @ApiOperation("总包方查询我的项目列表") @GetMapping("/list") public TableDataInfo list(@Validated ZbfProjectListDTO dto) { @@ -78,7 +79,6 @@ public class AppZbfProjectController extends BaseController { return iZbfProjectService.conciseList(dto); } - @ApiOperation("总包方项目详情-项目信息") @GetMapping("/{projectId}") public AjaxResult zbfInfo(@NotNull(message = "主键不能为空") @@ -141,9 +141,16 @@ public class AppZbfProjectController extends BaseController { } + @ApiOperation("总包方项目详情-考勤情况-查看更多") + @GetMapping("/allCount") + public AjaxResult allCount(@Validated ZbfAttendanceDTO dto) { + return AjaxResult.success(attendanceService.zbfAllCount(dto)); + } - - - + @ApiOperation("总包方项目详情-考勤情况-查看更多") + @GetMapping("/histogram") + public AjaxResult> histogram(@Validated ZbfAttendanceDTO dto) { + return AjaxResult.success(attendanceService.zbfHistogram(dto)); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingApplyController.java index 289fceb..55ba9bc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingApplyController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingApplyController.java @@ -6,6 +6,7 @@ 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.zbf.domain.ZbfProjectSubcontractingApply; import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO; import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO; import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService; @@ -42,9 +43,17 @@ public class AppZbfProjectSubcontractingApplyController extends BaseController { } @ApiOperation("总包方项目分包详情-分包商申请列表") - @GetMapping("/fbsList/{subId}") + @GetMapping("/fbsList") public TableDataInfo getFbsList(ZbfProjectSubApplyListDTO dto) { return iZbfProjectSubcontractingApplyService.getFbsList(dto); } + @ApiOperation("总包方消息-分包商申请列表") + @GetMapping("/message/fbsList") + public TableDataInfo getFbsListByApplyId(ZbfProjectSubApplyListDTO dto) { + ZbfProjectSubcontractingApply byId = iZbfProjectSubcontractingApplyService.getById(dto.getSubApplyId()); + dto.setSubId(byId.getSubId()); + return iZbfProjectSubcontractingApplyService.getFbsList(dto); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingController.java index e65cb15..ae60879 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectSubcontractingController.java @@ -9,11 +9,13 @@ import com.ruoyi.fbs.domain.FbsWageApplication; import com.ruoyi.fbs.service.IFbsUserService; import com.ruoyi.fbs.service.IFbsWageApplicationService; import com.ruoyi.zbf.domain.ZbfProjectSubcontracting; +import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply; import com.ruoyi.zbf.domain.dto.ZbfProgressListDTO; import com.ruoyi.zbf.domain.dto.ZbfSubBgtListDTO; import com.ruoyi.zbf.domain.dto.ZbfWageApplicationListDTO; import com.ruoyi.zbf.domain.vo.*; import com.ruoyi.zbf.service.IZbfProjectSectionService; +import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService; import com.ruoyi.zbf.service.IZbfProjectSubcontractingService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -43,6 +45,7 @@ public class AppZbfProjectSubcontractingController extends BaseController { private final IZbfProjectSectionService iZbfProjectSectionService; private final IFbsUserService iFbsUserService; private final IFbsWageApplicationService iFbsWageApplicationService; + private final IZbfProjectSubcontractingApplyService iZbfProjectSubcontractingApplyService; @ApiOperation("总包方项目分包详情-分包信息") @GetMapping("/{id}") @@ -101,7 +104,16 @@ public class AppZbfProjectSubcontractingController extends BaseController { } - + @ApiOperation("总包方消息-分包信息") + @GetMapping("/message/{id}") + public AjaxResult getInfoByApplyId(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + ZbfProjectSubcontractingApply subcontractingApply = iZbfProjectSubcontractingApplyService.queryById(id); + ZbfProjectSubcontracting zbfProjectSubcontracting = iZbfProjectSubcontractingService.queryById(subcontractingApply.getSubId()); + ZbfProjectSubcontractingDetailVO vo = BeanUtil.copyProperties(zbfProjectSubcontracting, ZbfProjectSubcontractingDetailVO.class); + vo.setSectionName(iZbfProjectSectionService.getById(vo.getSectionId()).getSectionName()); + return AjaxResult.success(vo); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectTaskController.java index 181ffdb..2ae992c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/AppZbfProjectTaskController.java @@ -110,6 +110,13 @@ public class AppZbfProjectTaskController extends BaseController { return iBgtWageApplicationService.taskWageList(dto); } + @ApiOperation("总包方查询任务详情-工资结算审批列表-详情") + @GetMapping("/wageInfo/{id}") + public AjaxResult bgtWageInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iBgtWageApplicationService.getById(id)); + } + @ApiOperation("总包方查询任务详情-单个-务工人员数量") @GetMapping("/wgzList") public TableDataInfo taskWgzList(@Validated FbsProjectTaskUserDTO dto) { @@ -134,12 +141,6 @@ public class AppZbfProjectTaskController extends BaseController { return iBgtProjectRecruitApplyService.taskWgzListAll(dto); } -// @ApiOperation("分包商查询任务详情-任务切换列表") -// @GetMapping("/switchList") -// public TableDataInfo switchList(FbsTaskSwitchListDTO dto) { -// return iFbsProjectTaskService.switchList(dto); -// } - @ApiOperation("总包方查询包工头信息(点头像)") @GetMapping("/bgt/{userId}") public AjaxResult bgt(@NotNull(message = "主键不能为空") diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectStatus.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectStatus.java index ef9137e..70ca507 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectStatus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectStatus.java @@ -1,5 +1,8 @@ package com.ruoyi.common.enums; +import java.util.Arrays; +import java.util.List; + /** * 项目状态 * @@ -32,5 +35,9 @@ public enum ProjectStatus } + //在建的状态 + public static List getBuilding(){ + return Arrays.asList(NOT_START.getCode(), START.getCode()); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtPayCalculationDetailListVO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtPayCalculationDetailListVO.java index bb7443b..af6de89 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtPayCalculationDetailListVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtPayCalculationDetailListVO.java @@ -28,6 +28,9 @@ public class BgtPayCalculationDetailListVO { @ApiModelProperty("申请人类型") private String operatorType; + @ApiModelProperty("申请人名称") + private String userName; + @ApiModelProperty("创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/constants/ZbfMessageConstant.java b/ruoyi-system/src/main/java/com/ruoyi/common/constants/ZbfMessageConstant.java index 307ad23..dadd3c7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/constants/ZbfMessageConstant.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/constants/ZbfMessageConstant.java @@ -15,6 +15,7 @@ public class ZbfMessageConstant { public static final String ZBF_LARGE_SETTLEMENT = "2"; //大类型-结算 public static final String ZBF_LARGE_OTHER = "3"; //大类型-其它 + public static final String ZBF_SMALL_SYSTEM = "0"; //小类型-系统 public static final String ZBF_SMALL_SIGN_UP = "1"; //小类型-分包商报名 public static final String ZBF_SMALL_PAY = "2"; //小类型-付款 public static final String ZBF_SMALL_PROGRESS = "3"; //小类型-进度 diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzAttendanceService.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzAttendanceService.java index 4a7b8b9..52bb526 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzAttendanceService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/IWgzAttendanceService.java @@ -15,6 +15,8 @@ import com.ruoyi.wgz.bo.res.WgzAppCardReplacementApplicationRes; import com.ruoyi.wgz.bo.res.WgzAppPunchTheCalendarRecordRes; import com.ruoyi.wgz.bo.res.WgzAppUserClockingConditionRes; import com.ruoyi.wgz.domain.WgzAttendance; +import com.ruoyi.zbf.domain.dto.ZbfAttendanceDTO; +import com.ruoyi.zbf.domain.vo.ZbfAttendanceVO; import com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; @@ -136,8 +138,21 @@ public interface IWgzAttendanceService extends IServicePlus { */ BgtAttendanceVO allCount(BgtAttendanceDTO dto); + /** + * 总包方总体考勤情况-统计 + */ + ZbfAttendanceVO zbfAllCount(ZbfAttendanceDTO dto); + + /** + * 总体考勤情况-柱状图 + */ List histogram(BgtAttendanceDTO dto); + /** + * 总包方总体考勤情况-柱状图 + */ + List zbfHistogram(ZbfAttendanceDTO dto); + /** * 考勤详情,查询指定用户指定项目的指定天数考勤情况统计(如若用户输入20,但实际只有2天出勤); * 如若num为0,那么表示查询所有天数的考勤情况统计; diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzAttendanceServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzAttendanceServiceImpl.java index ac6aa1c..fe86c60 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzAttendanceServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzAttendanceServiceImpl.java @@ -37,7 +37,11 @@ import com.ruoyi.wgz.domain.WgzReissueacard; import com.ruoyi.wgz.mapper.WgzAttendanceMapper; import com.ruoyi.wgz.service.IWgzAttendanceService; import com.ruoyi.wgz.service.IWgzReissueacardService; +import com.ruoyi.zbf.domain.ZbfProject; +import com.ruoyi.zbf.domain.dto.ZbfAttendanceDTO; +import com.ruoyi.zbf.domain.vo.ZbfAttendanceVO; import com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO; +import com.ruoyi.zbf.service.IZbfProjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -68,14 +72,15 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl countVOS = countDayByProjectId(dto.getProjectId(), date, date); + if(CollectionUtil.isNotEmpty(countVOS)){ + zbfAttendanceVO.setReportToDutyNum(countVOS.get(0).getReportToDutyNum()); + } + //今日到岗率 + if(zbfAttendanceVO.getReportToDutyNum()!=0){ + int rate = new BigDecimal(zbfAttendanceVO.getReportToDutyNum()).divide(new BigDecimal(totalNum), 2, RoundingMode.HALF_UP) + .multiply(new BigDecimal(100)).intValue(); + zbfAttendanceVO.setReportToDutyRate(rate); + } + + //任务拥有的所有招工 + List bgtProjectRecruits = iBgtProjectRecruitService.getBaseMapper().selectList(Wrappers.lambdaQuery() + .eq(BgtProjectRecruit::getProjectId, dto.getProjectId())); + List recruitIds = bgtProjectRecruits.stream().map(BgtProjectRecruit::getId).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(recruitIds)) { + //请假人数 + Integer leaveNum = baseMapper.selectCount(Wrappers.lambdaQuery().isNotNull(WgzAttendance::getLeaveMarkId) + .in(WgzAttendance::getRecruitId, recruitIds).eq(WgzAttendance::getDate, date)); + zbfAttendanceVO.setLeaveNum(leaveNum); + + //迟到人数 + Integer lateNum = baseMapper.selectCount(Wrappers.lambdaQuery().eq(WgzAttendance::getLate, 1) + .in(WgzAttendance::getRecruitId, recruitIds).eq(WgzAttendance::getDate, date)); + zbfAttendanceVO.setLateNum(lateNum); + + //早退人数 + Integer earlyLeaveNum = baseMapper.selectCount(Wrappers.lambdaQuery().eq(WgzAttendance::getEarlyLeave, 1) + .in(WgzAttendance::getRecruitId, recruitIds).eq(WgzAttendance::getDate, date)); + zbfAttendanceVO.setEarlyLeaveNum(earlyLeaveNum); + } + + //缺勤人数 + zbfAttendanceVO.setAbsenceDutyNum(totalNum-zbfAttendanceVO.getReportToDutyNum()-zbfAttendanceVO.getLeaveNum()); + + return zbfAttendanceVO; + } + @Override public List histogram(BgtAttendanceDTO dto) { FbsProjectTask task = taskService.getById(dto.getTaskId()); @@ -553,8 +612,16 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl zbfHistogram(ZbfAttendanceDTO dto) { - public void validTaskTime(FbsProjectTask task,LocalDate date){ + LocalDate date = dto.getDate(); + LocalDate startTime = date.minusDays(7); + List zbfDayAttendanceCountVOS = countDayByProjectId(dto.getProjectId(), startTime, date); + return DataUtil.zbfFillMissingDates(zbfDayAttendanceCountVOS, startTime, date); + } + + public void validTaskTime(FbsProjectTask task, LocalDate date){ LocalDate taskBeginTime = DateUtils.str2Localdate(task.getTaskBeginTime(), DateUtils.YYYY_MM_DD); LocalDate taskEndTime = DateUtils.str2Localdate(task.getTaskEndTime(), DateUtils.YYYY_MM_DD); if(taskEndTime == null){ diff --git a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzPayCalculationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzPayCalculationServiceImpl.java index 3043648..7b83a0b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzPayCalculationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wgz/service/impl/WgzPayCalculationServiceImpl.java @@ -529,9 +529,8 @@ public class WgzPayCalculationServiceImpl extends ServicePlusImpl record(BgtPayCalculationRecordDTO dto) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WgzPayCalculation::getUserId, dto.getUserId()) - .eq(WgzPayCalculation::getRecruitId, dto.getRecruitId()) + .eq(dto.getRecruitId()!=null,WgzPayCalculation::getRecruitId, dto.getRecruitId()) .eq(WgzPayCalculation::getApplyKey, dto.getRecruitApplyId()) - .eq(WgzPayCalculation::getAuditorUserId, SecurityUtils.getAppUserId()) .in(WgzPayCalculation::getAuditorType,AuditStatus.getAudit()) .orderByDesc(WgzPayCalculation::getCreateTime); Page result = page(PageUtils.buildPage(), wrapper); diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfAttendanceDTO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfAttendanceDTO.java new file mode 100644 index 0000000..f156686 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfAttendanceDTO.java @@ -0,0 +1,31 @@ +package com.ruoyi.zbf.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.time.LocalDate; + +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("App总包方总体考勤查询对象") +public class ZbfAttendanceDTO { + + @ApiModelProperty("项目ID") + @NotNull(message = "项目ID不能为空") + private Long projectId; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty("日期") + private LocalDate date; + + @ApiModelProperty("日期类型(1日 2月)") + private String dateType; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectListDTO.java index 5c15ee8..5202b1f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectListDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectListDTO.java @@ -26,7 +26,7 @@ public class ZbfProjectListDTO { @ApiModelProperty("项目名称") private String projectName; - @ApiModelProperty("项目状态(0-未开工,1-已开工,2已竣工,3已停工)") + @ApiModelProperty("项目状态(1-已开工和未开工,2已竣工)") private String projectStatus; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectSubApplyListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectSubApplyListDTO.java index 18b9aa5..0304585 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectSubApplyListDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfProjectSubApplyListDTO.java @@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.validation.constraints.NotNull; - @Data @ApiModel("分包商项目分包申请列表查询条件") public class ZbfProjectSubApplyListDTO { @@ -17,9 +15,11 @@ public class ZbfProjectSubApplyListDTO { private Integer pageNum; @ApiModelProperty("分包ID") - @NotNull(message = "分包ID不能为空") private Long subId; + @ApiModelProperty("分包申请ID") + private Long subApplyId; + @ApiModelProperty("名字") private String username; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfAttendanceVO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfAttendanceVO.java new file mode 100644 index 0000000..cc036e1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfAttendanceVO.java @@ -0,0 +1,44 @@ +package com.ruoyi.zbf.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("App总包方总体考勤统计视图对象") +public class ZbfAttendanceVO { + + @ApiModelProperty("任务ID") + private Long projectId; + + @ApiModelProperty("任务名") + private String projectName; + + @ApiModelProperty("到岗人数") + private Integer reportToDutyNum = 0; + + @ApiModelProperty("总人数") + private Integer totalNum = 0; + + @ApiModelProperty("缺勤人数") + private Integer absenceDutyNum = 0; + + @ApiModelProperty("请假人数") + private Integer leaveNum = 0; + + @ApiModelProperty("迟到人数") + private Integer lateNum = 0; + + @ApiModelProperty("外勤人数") + private Integer outDutyNum = 0; + + @ApiModelProperty("早退人数") + private Integer earlyLeaveNum = 0; + + @ApiModelProperty("到岗率") + private Integer reportToDutyRate= 0; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingApplyListVO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingApplyListVO.java index e40b354..41d7937 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingApplyListVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingApplyListVO.java @@ -34,6 +34,9 @@ public class ZbfProjectSubcontractingApplyListVO { @ApiModelProperty("头像") private String avatarName; + @ApiModelProperty("公司ID") + private Long companyId; + @ApiModelProperty("公司名字") private String companyName; diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java index 7725465..9f20ee9 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java @@ -688,7 +688,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpllambdaQuery() .eq(ZbfProjectSection::getProjectId, dto.getId()) - .notIn(CollectionUtil.isNotEmpty(sectionDeleteIds), ZbfProjectSection::getId, sectionUpdateIds) + .notIn(CollectionUtil.isNotEmpty(sectionDeleteIds), ZbfProjectSection::getId, sectionDeleteIds) ); //删除分包 @@ -696,7 +696,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpllambdaQuery() .eq(ZbfProjectSubcontracting::getProjectId, dto.getId()) - .notIn(CollectionUtil.isNotEmpty(subDeleteIds), ZbfProjectSubcontracting::getId, subUpdateIds) + .notIn(CollectionUtil.isNotEmpty(subDeleteIds), ZbfProjectSubcontracting::getId, subDeleteIds) ); return update; @@ -793,7 +793,13 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId()); wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName()); - wrapper.eq(StrUtil.isNotBlank(dto.getProjectStatus()), ZbfProject::getProjectStatus, dto.getProjectStatus()); + if(dto.getProjectStatus() != null){ + if("1".equals(dto.getProjectStatus())){ + wrapper.in(ZbfProject::getProjectStatus, ProjectStatus.getBuilding()); + }else { + wrapper.eq(ZbfProject::getProjectStatus, dto.getProjectStatus()); + } + } wrapper.orderByDesc(ZbfProject::getId); Page result = page(PageUtils.buildPage(), wrapper); return PageUtils.buildDataInfo(result); diff --git a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingApplyMapper.xml b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingApplyMapper.xml index 1079194..e5f423e 100644 --- a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingApplyMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingApplyMapper.xml @@ -29,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" fu.username, fu.phone, fu.avatar_name, + fu.company_id, cc.company_name from zbf_project_subcontracting_apply zpsa left join fbs_user fu on zpsa.fbs_user_id = fu.user_id