diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectController.java index 73315d1..6c0f0f4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectController.java @@ -3,6 +3,7 @@ package com.ruoyi.web.controller.fbs; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.fbs.domain.dto.FbsProgressListDTO; import com.ruoyi.fbs.domain.dto.FbsProjectListDTO; import com.ruoyi.fbs.domain.vo.*; import com.ruoyi.zbf.service.IZbfProjectService; @@ -102,6 +103,12 @@ public class AppFbsProjectController extends BaseController { return AjaxResult.success(zbfProjectService.fbsProgress(projectId)); } + @ApiOperation("分包商查询项目详情-用工进度列表") + @GetMapping("/progressList") + public TableDataInfo fbsProgressList(FbsProgressListDTO dto) { + return zbfProjectService.fbsProgressList(dto); + } + @ApiOperation("分包商查询项目详情-结算情况") @GetMapping("/wage") public AjaxResult fbsWage(Long projectId) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsWageApplicationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsWageApplicationController.java index 3ad2240..0e249c8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsWageApplicationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsWageApplicationController.java @@ -9,6 +9,7 @@ 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.domain.entity.ZbfUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.fbs.domain.FbsWageApplication; @@ -16,6 +17,9 @@ import com.ruoyi.fbs.domain.dto.FbsWageApplicationListDTO; import com.ruoyi.fbs.domain.dto.FbsWageAuditDTO; import com.ruoyi.fbs.domain.dto.FbsWageAuditListDTO; import com.ruoyi.fbs.service.IFbsWageApplicationService; +import com.ruoyi.zbf.domain.ZbfProject; +import com.ruoyi.zbf.service.IZbfProjectService; +import com.ruoyi.zbf.service.IZbfUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -39,6 +43,8 @@ public class AppFbsWageApplicationController extends BaseController { private final IFbsWageApplicationService iFbsWageApplicationService; private final IBgtWageApplicationService iBgtWageApplicationService; + private final IZbfUserService iZbfUserService; + private final IZbfProjectService iZbfProjectService; @ApiOperation("分包商查询自己的工资申请列表") @GetMapping("/list") @@ -58,9 +64,10 @@ public class AppFbsWageApplicationController extends BaseController { @RepeatSubmit @PostMapping() public AjaxResult add(@Validated @RequestBody FbsWageApplication bo) { -// ZbfProject byId = iZbfProjectService.getById(bo.getProjectId()); -// -// bo.setReviewerName(byId.getUnitName()) + ZbfProject project = iZbfProjectService.getById(bo.getProjectId()); + ZbfUser zbfUser = iZbfUserService.selectUserByUserId(project.getUserId()); + bo.setReviewerName(zbfUser.getUsername()); + bo.setReviewerId(zbfUser.getUserId()); return AjaxResult.success(iFbsWageApplicationService.insert(bo)); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java index 3665561..78a4897 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java @@ -23,5 +23,9 @@ public interface BgtProjectTaskProgressMapper extends BaseMapperPlus appQueryPageList(@Param("page") Page page, @Param("dto") BgtProjectTaskProgressQueryDTO dto); + //根据Id查询任务最新进度 List getProgressByTaskIds(@Param("taskIds") List taskIds); + + //根据项目Id查询任务最新进度 + Page getProgressByTaskIds(@Param("page") Page page, @Param("taskIds") List taskIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java index 1faf6a5..98c0389 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java @@ -76,9 +76,13 @@ public interface IBgtProjectTaskProgressService extends IServicePlus getProgressByTaskIds(List taskIds); + /** + * 根据任务Id查询任务最新进度-分页 + */ + TableDataInfo getProgressByTaskIds(Integer pageSize, Integer pageNum,List taskIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java index e45dae4..834a39d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java @@ -138,8 +138,11 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImplentity.getProgress()){ - throw new BaseException("当前进度不能小于上一个进度"); + if(lastProgress>=entity.getProgress()){ + throw new BaseException("当前进度不能小于等于上一个进度"); + } + if(lastProgress==100){ + throw new BaseException("进度已满"); } } @@ -210,4 +213,13 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl getProgressByTaskIds(List taskIds) { return baseMapper.getProgressByTaskIds(taskIds); } + + @Override + public TableDataInfo getProgressByTaskIds(Integer pageSize, Integer pageNum,List taskIds) { + Page queryDTOPage = new Page<>(); + queryDTOPage.setCurrent(pageNum); + queryDTOPage.setSize(pageSize); + Page queryVOPage = baseMapper.getProgressByTaskIds(queryDTOPage, taskIds); + return PageUtils.buildDataInfo(queryVOPage); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProgressListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProgressListDTO.java new file mode 100644 index 0000000..c44ac20 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProgressListDTO.java @@ -0,0 +1,21 @@ +package com.ruoyi.fbs.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@ApiModel("分包商任务进度列表查询对象") +public class FbsProgressListDTO { + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + @ApiModelProperty("项目ID") + private Long projectId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProgressListVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProgressListVO.java new file mode 100644 index 0000000..ab69101 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProgressListVO.java @@ -0,0 +1,21 @@ +package com.ruoyi.fbs.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@ApiModel("分包商任务进度列表试图对象") +public class FbsProgressListVO { + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("进度") + private Integer progress; + + @ApiModelProperty("项目名称") + private String taskName; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java index 8c78862..9f50e31 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java @@ -3,6 +3,7 @@ package com.ruoyi.zbf.service; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.fbs.domain.dto.FbsProgressListDTO; import com.ruoyi.fbs.domain.dto.FbsProjectListDTO; import com.ruoyi.fbs.domain.vo.*; import com.ruoyi.zbf.bo.ZbfProjectQueryBo; @@ -115,6 +116,11 @@ public interface IZbfProjectService extends IServicePlus { */ FbsProjectTaskDetailProgressVO fbsProgress(Long projectId); + /** + * 分包商查询项目详情-用工进度列表 + */ + TableDataInfo fbsProgressList(FbsProgressListDTO dto); + /** * 分包商查询项目详情-结算情况 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfUserService.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfUserService.java index 305cded..a060b44 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfUserService.java @@ -57,4 +57,9 @@ public interface IZbfUserService extends IServicePlus { * 通过电话查询用户 */ ZbfUser selectUserByPhone(String phone); + + /** + * 通过userId查询用户 + */ + ZbfUser selectUserByUserId(Long userId); } 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 67efae7..0b25df6 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 @@ -18,6 +18,7 @@ import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.fbs.domain.FbsProjectTask; import com.ruoyi.fbs.domain.FbsWageApplication; +import com.ruoyi.fbs.domain.dto.FbsProgressListDTO; import com.ruoyi.fbs.domain.dto.FbsProjectListDTO; import com.ruoyi.fbs.domain.vo.*; import com.ruoyi.fbs.service.IFbsProjectTaskService; @@ -506,6 +507,23 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl fbsProgressList(FbsProgressListDTO dto) { + Page fbsProgressListVOPage = new Page<>(); + //查询所有创建的任务 + List taskList = fbsProjectTaskService.list(Wrappers.lambdaQuery() + .eq(FbsProjectTask::getCreateId, SecurityUtils.getAppUserId()) + .eq(FbsProjectTask::getProjectId, dto) + ); + List taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(taskIds)){ + TableDataInfo progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(dto.getPageSize(), dto.getPageNum(), taskIds); + fbsProgressListVOPage.setTotal(progressByTaskIds.getTotal()); + fbsProgressListVOPage.setRecords(BeanUtil.copyToList(progressByTaskIds.getRows(), FbsProgressListVO.class)); + } + return PageUtils.buildDataInfo(fbsProgressListVOPage); + } + @Override public FbsProjectTaskDetailWageVO fbsWage(Long projectId) { FbsProjectTaskDetailWageVO vo = new FbsProjectTaskDetailWageVO(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfUserServiceImpl.java index a1eaa4a..754f44b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfUserServiceImpl.java @@ -102,4 +102,9 @@ public class ZbfUserServiceImpl extends ServicePlusImpl public ZbfUser selectUserByPhone(String phone) { return baseMapper.selectOne(new LambdaQueryWrapper().eq(ZbfUser::getPhone, phone)); } + + @Override + public ZbfUser selectUserByUserId(Long userId) { + return baseMapper.selectOne(new LambdaQueryWrapper().eq(ZbfUser::getUserId, userId)); + } }