From e35e17df3e745752e4b81c8524f3ea418203c3fb Mon Sep 17 00:00:00 2001 From: zt Date: Thu, 27 Mar 2025 16:20:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=8C=85=E5=95=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bgt/AppBgtProjectTaskApplyController.java | 6 +- .../bgt/AppBgtProjectTaskController.java | 7 +- .../controller/bgt/AppBgtUserController.java | 4 +- .../web/controller/bgt/BgtUserController.java | 1 - ...sProjectSubcontractingApplyController.java | 64 ++++++++++ ...ppFbsProjectSubcontractingController.java} | 2 +- .../fbs/AppFbsProjectTaskController.java | 81 +++++++++++-- ...fProjectSubcontractingApplyController.java | 33 +++--- .../ruoyi/common/enums/ProjectTaskStatus.java | 10 +- .../enums/SubcontractingApplyStatus.java | 1 + .../domain/dto/BgtTaskApplyDTO.java} | 4 +- .../domain/dto/BgtTaskDTO.java} | 4 +- ... => BgtUserRealNameAuthenticationDTO.java} | 2 +- .../domain/vo/BgtTaskDetailWageVO.java} | 7 +- .../ruoyi/bgt/service/IBgtUserService.java | 4 +- .../bgt/service/impl/BgtUserServiceImpl.java | 4 +- .../com/ruoyi/fbs/domain/FbsProjectTask.java | 3 + .../ruoyi/fbs/domain/FbsProjectTaskApply.java | 3 + .../domain/dto/FbsProjectTaskUpdateDTO.java | 56 +++++++++ .../fbs/domain/dto/FbsTaskApplyListDTO.java | 24 ++++ .../ruoyi/fbs/domain/dto/FbsTaskListDTO.java | 19 +++ .../ruoyi/fbs/domain/vo/AppTaskDetailVO.java | 9 +- .../domain/vo/FbsProjectTaskApplyListVO.java | 46 ++++++++ .../fbs/domain/vo/FbsProjectTaskListVO.java | 94 +++++++++++++++ .../fbs/domain/vo/FbsTaskDetailWageVO.java | 32 +++++ .../fbs/mapper/FbsProjectTaskApplyMapper.java | 9 +- .../fbs/mapper/FbsProjectTaskMapper.java | 4 +- .../service/IFbsProjectTaskApplyService.java | 13 ++- .../fbs/service/IFbsProjectTaskService.java | 22 +++- .../impl/FbsProjectTaskApplyServiceImpl.java | 17 ++- .../impl/FbsProjectTaskServiceImpl.java | 110 +++++++++++++----- .../domain/ZbfProjectSubcontractingApply.java | 4 +- .../mapper/fbs/FbsProjectTaskApplyMapper.xml | 14 +++ .../resources/mapper/zbf/ZbfProjectMapper.xml | 2 +- ruoyi/uploadPath/appResource/html/upload.html | 7 +- 35 files changed, 615 insertions(+), 107 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingApplyController.java rename ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/{AppProjectSubcontractingController.java => AppFbsProjectSubcontractingController.java} (95%) rename {ruoyi-system/src/main/java/com/ruoyi/zbf/controller => ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf}/ZbfProjectSubcontractingApplyController.java (97%) rename ruoyi-system/src/main/java/com/ruoyi/{fbs/domain/dto/TaskApplyDTO.java => bgt/domain/dto/BgtTaskApplyDTO.java} (80%) rename ruoyi-system/src/main/java/com/ruoyi/{fbs/domain/dto/AppTaskDTO.java => bgt/domain/dto/BgtTaskDTO.java} (92%) rename ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/{UserRealNameAuthenticationDTO.java => BgtUserRealNameAuthenticationDTO.java} (97%) rename ruoyi-system/src/main/java/com/ruoyi/{fbs/domain/vo/AppTaskDetailWageVO.java => bgt/domain/vo/BgtTaskDetailWageVO.java} (79%) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProjectTaskUpdateDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskApplyListDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskListDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskApplyListVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskListVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsTaskDetailWageVO.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskApplyController.java index 2f636cb..e86e9c5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskApplyController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskApplyController.java @@ -5,7 +5,7 @@ import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.fbs.domain.dto.TaskApplyDTO; +import com.ruoyi.bgt.domain.dto.BgtTaskApplyDTO; import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -36,7 +36,7 @@ public class AppBgtProjectTaskApplyController extends BaseController { @Log(title = "App申请承接项目任务", businessType = BusinessType.INSERT) @RepeatSubmit @PostMapping() - public AjaxResult appTaskApply(@Validated @RequestBody TaskApplyDTO dto) { + public AjaxResult appTaskApply(@Validated @RequestBody BgtTaskApplyDTO dto) { return AjaxResult.success(iFbsProjectTaskApplyService.appTaskApply(dto)); } @@ -44,7 +44,7 @@ public class AppBgtProjectTaskApplyController extends BaseController { @ApiOperation("App取消申请项目任务") @Log(title = "App取消申请项目任务" , businessType = BusinessType.DELETE) @DeleteMapping() - public AjaxResult cancelApply(TaskApplyDTO dto) { + public AjaxResult cancelApply(BgtTaskApplyDTO dto) { return AjaxResult.success(iFbsProjectTaskApplyService.cancelApply(dto)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskController.java index f547548..304cb0b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskController.java @@ -3,6 +3,7 @@ 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.bgt.domain.vo.BgtTaskDetailWageVO; import com.ruoyi.bgt.service.IBgtUserService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; @@ -14,7 +15,7 @@ import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.BaseException; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.fbs.domain.FbsProjectTask; -import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.bgt.domain.dto.BgtTaskDTO; import com.ruoyi.fbs.domain.vo.*; import com.ruoyi.fbs.service.IFbsProjectTaskService; import io.swagger.annotations.Api; @@ -52,7 +53,7 @@ public class AppBgtProjectTaskController extends BaseController { ,notes = "1.首页任务列表 任务状态(status) 申请(0) 是否我的任务(myTask) false\n"+ "2.我的任务列表 任务状态(status) 申请(0) 进行(1) 完成(2) 是否我的任务(myTask) true") @GetMapping("/list") - public TableDataInfo list(@Validated AppTaskDTO dto) { + public TableDataInfo list(@Validated BgtTaskDTO dto) { return iFbsProjectTaskService.appQueryPageList(dto); } @@ -86,7 +87,7 @@ public class AppBgtProjectTaskController extends BaseController { @ApiOperation("项目任务详细信息-结算") @GetMapping("/wage/{id}") - public AjaxResult getInfoWage(@NotNull(message = "主键不能为空") + public AjaxResult getInfoWage(@NotNull(message = "主键不能为空") @PathVariable("id") Long id) { return AjaxResult.success(iFbsProjectTaskService.wage(id)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java index 3b3cbfc..713ff09 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java @@ -1,6 +1,6 @@ package com.ruoyi.web.controller.bgt; -import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO; +import com.ruoyi.bgt.domain.dto.BgtUserRealNameAuthenticationDTO; import com.ruoyi.bgt.service.IBgtUserService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; @@ -42,7 +42,7 @@ public class AppBgtUserController extends BaseController { @Log(title = "App管理包工头", businessType = BusinessType.UPDATE) @RepeatSubmit @PutMapping - public AjaxResult realNameAuthentication(@Validated @RequestBody UserRealNameAuthenticationDTO dto) { + public AjaxResult realNameAuthentication(@Validated @RequestBody BgtUserRealNameAuthenticationDTO dto) { Boolean b = iBgtUserService.realNameAuthentication(dto); if(b){ //更新上下文和缓存 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtUserController.java index e33977a..b86ea81 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtUserController.java @@ -1,7 +1,6 @@ package com.ruoyi.web.controller.bgt; import com.ruoyi.bgt.bo.BgtUserQueryBo; -import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO; import com.ruoyi.bgt.service.IBgtUserService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingApplyController.java new file mode 100644 index 0000000..4e1cb31 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingApplyController.java @@ -0,0 +1,64 @@ +package com.ruoyi.web.controller.fbs; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +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.enums.BusinessType; +import com.ruoyi.common.enums.SubcontractingApplyStatus; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply; +import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService; +import io.swagger.annotations.Api; +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.*; + +import javax.validation.constraints.NotNull; + +/** + * 总包方项目分包申请Controller + * + * @author ruoyi + * @date 2025-03-26 + */ +@Api(value = "App分包商项目分包申请控制器", tags = {"App分包商"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/app/fbs/apply") +public class AppFbsProjectSubcontractingApplyController extends BaseController { + + private final IZbfProjectSubcontractingApplyService iZbfProjectSubcontractingApplyService; + + + /** + * 新增总包方项目分包申请 + */ + @ApiOperation("分包商申请项目分包") + @Log(title = "分包商申请项目分包", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult apply(@Validated @RequestBody ZbfProjectSubcontractingApply bo) { + return AjaxResult.success(iZbfProjectSubcontractingApplyService.insert(bo)); + } + + /** + * 修改总包方项目分包申请 + */ + @ApiOperation("分包商取消项目分包申请") + @Log(title = "分包商取消项目分包申请", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping("/{subId}") + public AjaxResult cancel(@NotNull(message = "主键不能为空") + @PathVariable("subId") Long subId) { + LambdaUpdateWrapper wrapper = Wrappers.lambdaUpdate() + .eq(ZbfProjectSubcontractingApply::getSubId, subId) + .eq(ZbfProjectSubcontractingApply::getFbsUserId, SecurityUtils.getAppUserId()) + .set(ZbfProjectSubcontractingApply::getApplyStatus, SubcontractingApplyStatus.CANCEL.getCode()); + return AjaxResult.success(iZbfProjectSubcontractingApplyService.update(wrapper)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppProjectSubcontractingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingController.java similarity index 95% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppProjectSubcontractingController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingController.java index 2447bba..5544046 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppProjectSubcontractingController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectSubcontractingController.java @@ -25,7 +25,7 @@ import javax.validation.constraints.NotNull; @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/app/fbs/subcontracting") -public class AppProjectSubcontractingController extends BaseController { +public class AppFbsProjectSubcontractingController extends BaseController { private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java index 65c985a..0434595 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java @@ -1,22 +1,30 @@ package com.ruoyi.web.controller.fbs; +import cn.hutool.core.bean.BeanUtil; +import com.ruoyi.bgt.service.IBgtUserService; 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.BgtUser; +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.FbsProjectTaskUpdateDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskApplyListDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskListDTO; +import com.ruoyi.fbs.domain.vo.*; +import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; import com.ruoyi.fbs.service.IFbsProjectTaskService; import io.swagger.annotations.Api; 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.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -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; /** * 分包商项目任务Controller @@ -31,19 +39,72 @@ import org.springframework.web.bind.annotation.RestController; public class AppFbsProjectTaskController extends BaseController { private final IFbsProjectTaskService iFbsProjectTaskService; + private final IFbsProjectTaskApplyService iFbsProjectTaskApplyService; + private final IBgtUserService iBgtUserService; @ApiOperation("分包商发布任务") @Log(title = "分包商发布任务", businessType = BusinessType.INSERT) @RepeatSubmit @PostMapping() public AjaxResult add(@Validated @RequestBody FbsProjectTask bo) { - bo.setCreateId(SecurityUtils.getAppUserId()); - bo.setStatus("1"); -// BgtUser byId = bgtUserService.selectUserByUserId(SecurityUtils.getAppUserId()); -// if(byId == null || byId.getIdentityCard() == null){ -// throw new BaseException("当前用户还未实名认证!"); -// } return AjaxResult.success(iFbsProjectTaskService.insert(bo)); } + + @ApiOperation("分包商修改任务") + @Log(title = "分包商修改任务", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody FbsProjectTaskUpdateDTO dto) { + FbsProjectTask task = iFbsProjectTaskService.getById(dto.getId()); + BeanUtil.copyProperties(dto, task); + return AjaxResult.success(iFbsProjectTaskService.update(task)); + } + + @ApiOperation("分包商查询任务列表") + @GetMapping("/list") + public TableDataInfo list(@Validated FbsTaskListDTO dto) { + return iFbsProjectTaskService.fbsPageList(dto); + } + + @ApiOperation("分包商查询任务详情-基础信息") + @GetMapping("/base/{id}") + public AjaxResult base(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iFbsProjectTaskService.appQueryById(id)); + } + + @ApiOperation("分包商查询任务详情-申请列表") + @GetMapping("/taskApplyList") + public TableDataInfo taskApplyList(@Validated FbsTaskApplyListDTO dto) { + return iFbsProjectTaskApplyService.queryPageListByTaskId(dto); + } + + @ApiOperation("分包商查询任务详情-包工头信息") + @GetMapping("/bgtInfo/{id}") + public AjaxResult bgtInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + FbsProjectTask task = iFbsProjectTaskService.getById(id); + if(task!=null&&task.getUserId()!=null){ + BgtUser bgtUser = iBgtUserService.selectUserByUserId(task.getUserId()); + return AjaxResult.success(bgtUser); + } + return AjaxResult.success(new BgtUser()); + } + + @ApiOperation("分包商查询任务详情-任务进度") + @GetMapping("/progress/{id}") + public AjaxResult progress(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iFbsProjectTaskService.progress(id)); + } + + + @ApiOperation("分包商查询任务详情-工资结算审批") + @GetMapping("/wage/{id}") + public AjaxResult fbsWage(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iFbsProjectTaskService.fbsWage(id)); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/controller/ZbfProjectSubcontractingApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSubcontractingApplyController.java similarity index 97% rename from ruoyi-system/src/main/java/com/ruoyi/zbf/controller/ZbfProjectSubcontractingApplyController.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSubcontractingApplyController.java index f93b67a..81f0f9f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/controller/ZbfProjectSubcontractingApplyController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSubcontractingApplyController.java @@ -1,26 +1,27 @@ -package com.ruoyi.zbf.controller; +package com.ruoyi.web.controller.zbf; -import java.util.List; -import java.util.Arrays; - -import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply; -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.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo; -import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService; -import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo; +import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply; +import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService; 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 diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectTaskStatus.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectTaskStatus.java index e40a97e..003e1e3 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectTaskStatus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/ProjectTaskStatus.java @@ -1,5 +1,8 @@ package com.ruoyi.common.enums; +import java.util.Arrays; +import java.util.List; + /** * 项目任务状态 * @@ -7,7 +10,7 @@ package com.ruoyi.common.enums; */ public enum ProjectTaskStatus { - APPLY("0", "申请中"), + APPLY("0", "未开始"), PROGRESS("1", "进行中"), COMPLETE("2", "已完成"), ; @@ -30,4 +33,9 @@ public enum ProjectTaskStatus { return info; } + + //已发布的状态 + public static List getRelease(){ + return Arrays.asList(APPLY.getCode(), PROGRESS.getCode()); + } } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SubcontractingApplyStatus.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/SubcontractingApplyStatus.java index 6dc17ce..78acb30 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/SubcontractingApplyStatus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/SubcontractingApplyStatus.java @@ -13,6 +13,7 @@ public enum SubcontractingApplyStatus APPLY("0", "申请中"), PASS("1", "已同意"), REFUSE("2", "已拒绝"), + CANCEL("3", "已取消"), ; private final String code; diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/TaskApplyDTO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtTaskApplyDTO.java similarity index 80% rename from ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/TaskApplyDTO.java rename to ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtTaskApplyDTO.java index dd9847b..2acb8ae 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/TaskApplyDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtTaskApplyDTO.java @@ -1,4 +1,4 @@ -package com.ruoyi.fbs.domain.dto; +package com.ruoyi.bgt.domain.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -6,7 +6,7 @@ import lombok.Data; @Data @ApiModel("app申请/取消项目任务") -public class TaskApplyDTO { +public class BgtTaskApplyDTO { @ApiModelProperty("任务ID") private Long taskId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/AppTaskDTO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtTaskDTO.java similarity index 92% rename from ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/AppTaskDTO.java rename to ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtTaskDTO.java index 25faab1..3bea4bb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/AppTaskDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtTaskDTO.java @@ -1,4 +1,4 @@ -package com.ruoyi.fbs.domain.dto; +package com.ruoyi.bgt.domain.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -8,7 +8,7 @@ import java.util.List; @Data @ApiModel("app项目任务列表查询条件") -public class AppTaskDTO { +public class BgtTaskDTO { @ApiModelProperty("分页大小") private Integer pageSize; /** 当前页数 */ diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtUserRealNameAuthenticationDTO.java similarity index 97% rename from ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java rename to ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtUserRealNameAuthenticationDTO.java index 3b99783..9b1d152 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtUserRealNameAuthenticationDTO.java @@ -22,7 +22,7 @@ import java.util.List; @NoArgsConstructor @Accessors(chain = true) @ApiModel("包工头实名认证对象") -public class UserRealNameAuthenticationDTO { +public class BgtUserRealNameAuthenticationDTO { @ApiModelProperty("主键") @NotNull(message = "主键不能为空") diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailWageVO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtTaskDetailWageVO.java similarity index 79% rename from ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailWageVO.java rename to ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtTaskDetailWageVO.java index 4e23231..e9fd363 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailWageVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtTaskDetailWageVO.java @@ -1,6 +1,5 @@ -package com.ruoyi.fbs.domain.vo; +package com.ruoyi.bgt.domain.vo; -import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -10,14 +9,14 @@ import java.math.BigDecimal; @Data @ApiModel("包工头项目任务详情-结算情况") -public class AppTaskDetailWageVO { +public class BgtTaskDetailWageVO { @ApiModelProperty("主键ID") private Long id; //结算情况 @ApiModelProperty("任务收款金额") - private Integer taskReceiveAmount; + private BigDecimal taskReceiveAmount; @ApiModelProperty("任务付款金额") private BigDecimal taskPaymentAmount; diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtUserService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtUserService.java index 4de6057..f0b9e63 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtUserService.java @@ -1,7 +1,7 @@ package com.ruoyi.bgt.service; import com.ruoyi.bgt.bo.BgtUserQueryBo; -import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO; +import com.ruoyi.bgt.domain.dto.BgtUserRealNameAuthenticationDTO; import com.ruoyi.common.core.domain.entity.BgtUser; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; @@ -65,7 +65,7 @@ public interface IBgtUserService extends IServicePlus { /** * 实名认证 */ - Boolean realNameAuthentication(@Validated @RequestBody UserRealNameAuthenticationDTO dto); + Boolean realNameAuthentication(@Validated @RequestBody BgtUserRealNameAuthenticationDTO dto); /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java index 7545124..e71f15c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.bgt.bo.BgtUserQueryBo; -import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO; +import com.ruoyi.bgt.domain.dto.BgtUserRealNameAuthenticationDTO; import com.ruoyi.bgt.mapper.BgtUserMapper; import com.ruoyi.bgt.service.IBgtUserService; import com.ruoyi.common.constant.Constants; @@ -126,7 +126,7 @@ public class BgtUserServiceImpl extends ServicePlusImpl @Override @Transactional(rollbackFor = Exception.class) - public Boolean realNameAuthentication(UserRealNameAuthenticationDTO dto) { + public Boolean realNameAuthentication(BgtUserRealNameAuthenticationDTO dto) { BgtUser bgtUser = baseMapper.selectOne(new LambdaQueryWrapper().eq(BgtUser::getUserId, dto.getUserId())); if(bgtUser == null){ throw new BaseException("用户不存在"); diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java index 0bcdc27..a6e63f0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java @@ -48,6 +48,9 @@ public class FbsProjectTask implements Serializable { @ApiModelProperty("分包ID") private Long subId; + @ApiModelProperty("分包主题") + private String subName; + /** 任务名称 */ @Excel(name = "任务名称") @ApiModelProperty("任务名称") diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java index bd131cf..5cacb57 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java @@ -41,6 +41,9 @@ public class FbsProjectTaskApply implements Serializable { @ApiModelProperty("包工头用户ID") private Long userId; + @ApiModelProperty("申请状态(0=申请中,1=已同意,2=已拒绝,3=已取消)") + private String applyStatus; + /** 删除标志(0代表存在 2代表删除) */ @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") @ApiModelProperty("删除标志(0代表存在 2代表删除)") diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProjectTaskUpdateDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProjectTaskUpdateDTO.java new file mode 100644 index 0000000..c52e28e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsProjectTaskUpdateDTO.java @@ -0,0 +1,56 @@ +package com.ruoyi.fbs.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import javax.validation.constraints.Pattern; + +/** + * 分包商项目任务对象 fbs_project_task + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("分包商项目任务视图对象") +public class FbsProjectTaskUpdateDTO { + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("用工数量") + private Integer taskStaffNum; + + @ApiModelProperty("任务开始时间") + private String taskBeginTime; + + @ApiModelProperty("任务结束时间") + private String taskEndTime; + + @ApiModelProperty("联系人") + private String taskContactPerson; + + @ApiModelProperty("联系电话") + @Pattern(regexp = "^[0-9]+$",message = "联系电话只能是数字") + private String taskContactPhone; + + @ApiModelProperty("任务描述") + private String taskDescribe; + + @ApiModelProperty("任务图片") + private String taskImg; + + @ApiModelProperty("任务附件") + private String taskAnnex; + + @ApiModelProperty("资质要求") + private String qualification; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskApplyListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskApplyListDTO.java new file mode 100644 index 0000000..9650ab7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskApplyListDTO.java @@ -0,0 +1,24 @@ +package com.ruoyi.fbs.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +@ApiModel("分包商任务申请列表查询条件") +public class FbsTaskApplyListDTO { + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + @ApiModelProperty("任务id") + @NotNull(message = "任务id不能为空") + private Long taskId; + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskListDTO.java new file mode 100644 index 0000000..a4583f3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsTaskListDTO.java @@ -0,0 +1,19 @@ +package com.ruoyi.fbs.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("分包商任务列表查询条件") +public class FbsTaskListDTO { + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + @ApiModelProperty("任务类型(0已发布 1已完成)") + private Integer type; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java index 34c9867..cb0d988 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java @@ -1,10 +1,9 @@ package com.ruoyi.fbs.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO; import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO; -import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO; -import com.ruoyi.common.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,18 +20,12 @@ public class AppTaskDetailVO { @ApiModelProperty("主键ID") private Long id; - /** 项目ID */ - @Excel(name = "项目ID") @ApiModelProperty("项目ID") private Long projectId; - /** 标段ID */ - @Excel(name = "标段ID") @ApiModelProperty("标段ID") private Long sectionId; - /** 分包ID */ - @Excel(name = "分包ID") @ApiModelProperty("分包ID") private Long subId; diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskApplyListVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskApplyListVO.java new file mode 100644 index 0000000..1c422e4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskApplyListVO.java @@ -0,0 +1,46 @@ +package com.ruoyi.fbs.domain.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 分包商项目任务申请对象 fbs_project_task_apply + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@ApiModel("分包商任务申请列表视图对象") +public class FbsProjectTaskApplyListVO { + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("任务ID") + private Long taskId; + + @ApiModelProperty("包工头用户ID") + @JsonFormat(shape = JsonFormat.Shape.STRING) + private Long userId; + + @ApiModelProperty("姓名") + private String username; + + @ApiModelProperty("联系电话") + private String phone; + + @ApiModelProperty("头像") + private String avatarName; + + @ApiModelProperty("申请状态(0=申请中,1=已同意,2=已拒绝,3=已取消)") + private String applyStatus; + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskListVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskListVO.java new file mode 100644 index 0000000..0cdf8a9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsProjectTaskListVO.java @@ -0,0 +1,94 @@ +package com.ruoyi.fbs.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 分包商项目任务对象 fbs_project_task + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@ApiModel("分包商任务列表视图对象") +public class FbsProjectTaskListVO { + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("项目ID") + private Long projectId; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("标段ID") + private Long sectionId; + + @ApiModelProperty("分包ID") + private Long subId; + + @ApiModelProperty("分包主题") + private String subName; + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("任务地址") + private String taskAddress; + + @ApiModelProperty("任务金额") + private BigDecimal taskAmount; + + @ApiModelProperty("用工数量") + private Integer taskStaffNum; + + @ApiModelProperty("任务开始时间") + private String taskBeginTime; + + @ApiModelProperty("任务结束时间") + private String taskEndTime; + + @ApiModelProperty("联系人") + private String taskContactPerson; + + @ApiModelProperty("联系电话") + private String taskContactPhone; + + @ApiModelProperty("任务描述") + private String taskDescribe; + + @ApiModelProperty("任务图片") + private String taskImg; + + @ApiModelProperty("任务附件") + private String taskAnnex; + + @ApiModelProperty("资质要求") + private String qualification; + + @ApiModelProperty("包工头用户ID") + private Long userId; + + @ApiModelProperty("任务状态(0未开始 1进行中 2已完成)") + private String status; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime createTime; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("申请列表") + private List applyList; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsTaskDetailWageVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsTaskDetailWageVO.java new file mode 100644 index 0000000..f386029 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/FbsTaskDetailWageVO.java @@ -0,0 +1,32 @@ +package com.ruoyi.fbs.domain.vo; + +import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + + +@Data +@ApiModel("分包商项目任务详情-结算情况") +public class FbsTaskDetailWageVO { + + @ApiModelProperty("主键ID") + private Long id; + + //结算情况 + @ApiModelProperty("任务结算金额") + private BigDecimal taskAuditAmount; + + @ApiModelProperty("任务申请金额") + private BigDecimal taskApplyAmount; + + @ApiModelProperty("最新一条收款申请") + private BgtWageApplicationListVO wageApplication; + + @ApiModelProperty("任务金额") + private BigDecimal taskAmount; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java index cd9af1c..1006543 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java @@ -1,9 +1,13 @@ package com.ruoyi.fbs.mapper; -import com.ruoyi.fbs.domain.FbsProjectTaskApply; -import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.fbs.domain.FbsProjectTaskApply; +import com.ruoyi.fbs.domain.dto.FbsTaskApplyListDTO; +import com.ruoyi.fbs.domain.vo.FbsProjectTaskApplyListVO; import org.apache.ibatis.annotations.CacheNamespace; +import org.apache.ibatis.annotations.Param; /** * 分包商项目任务申请Mapper接口 @@ -15,4 +19,5 @@ import org.apache.ibatis.annotations.CacheNamespace; @CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) public interface FbsProjectTaskApplyMapper extends BaseMapperPlus { + Page queryPageListByTaskId(@Param("page") Page page, @Param("dto") FbsTaskApplyListDTO dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java index 7189164..8a6d49f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; import com.ruoyi.fbs.domain.FbsProjectTask; -import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.bgt.domain.dto.BgtTaskDTO; import com.ruoyi.fbs.domain.vo.AppTaskVO; import org.apache.ibatis.annotations.CacheNamespace; import org.apache.ibatis.annotations.Param; @@ -19,6 +19,6 @@ import org.apache.ibatis.annotations.Param; @CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) public interface FbsProjectTaskMapper extends BaseMapperPlus { - Page appQueryPageList(@Param("page") Page page, @Param("dto") AppTaskDTO dto); + Page appQueryPageList(@Param("page") Page page, @Param("dto") BgtTaskDTO dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java index 0162257..f913d82 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java @@ -1,10 +1,12 @@ package com.ruoyi.fbs.service; +import com.ruoyi.bgt.domain.dto.BgtTaskApplyDTO; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo; import com.ruoyi.fbs.domain.FbsProjectTaskApply; -import com.ruoyi.fbs.domain.dto.TaskApplyDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskApplyListDTO; +import com.ruoyi.fbs.domain.vo.FbsProjectTaskApplyListVO; import java.util.Collection; import java.util.List; @@ -57,7 +59,7 @@ public interface IFbsProjectTaskApplyService extends IServicePlus queryPageListByTaskId(FbsTaskApplyListDTO dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java index 6a46032..46cfb1f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java @@ -2,13 +2,15 @@ package com.ruoyi.fbs.service; import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO; +import com.ruoyi.bgt.domain.dto.BgtTaskDTO; import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; import com.ruoyi.bgt.domain.vo.BgtProjectTaskUseCountVO; +import com.ruoyi.bgt.domain.vo.BgtTaskDetailWageVO; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; import com.ruoyi.fbs.domain.FbsProjectTask; -import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskListDTO; import com.ruoyi.fbs.domain.vo.*; import java.util.Collection; @@ -63,7 +65,7 @@ public interface IFbsProjectTaskService extends IServicePlus { /** * 包工头查询列表 */ - TableDataInfo appQueryPageList(AppTaskDTO dto); + TableDataInfo appQueryPageList(BgtTaskDTO dto); /** * App包工头任务列表(不分页) @@ -88,7 +90,7 @@ public interface IFbsProjectTaskService extends IServicePlus { /** * 任务详情-结算 */ - AppTaskDetailWageVO wage(Long id); + BgtTaskDetailWageVO wage(Long id); /** * 任务详情-务工人员 @@ -105,8 +107,16 @@ public interface IFbsProjectTaskService extends IServicePlus { */ BgtProjectTaskUseCountVO taskUserCount(Long id); - /** - * 查询所有在进行中的任务 - */ + List findOngoingTask(); + + /** + * 分包商查询任务列表 + */ + TableDataInfo fbsPageList(FbsTaskListDTO dto); + + /** + * 任务详情-结算 + */ + FbsTaskDetailWageVO fbsWage(Long id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java index c4af682..58f3acb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.ruoyi.bgt.domain.BgtMessage; +import com.ruoyi.bgt.domain.dto.BgtTaskApplyDTO; import com.ruoyi.bgt.service.IBgtMessageService; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.TableDataInfo; @@ -16,7 +17,8 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo; import com.ruoyi.fbs.domain.FbsProjectTask; import com.ruoyi.fbs.domain.FbsProjectTaskApply; -import com.ruoyi.fbs.domain.dto.TaskApplyDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskApplyListDTO; +import com.ruoyi.fbs.domain.vo.FbsProjectTaskApplyListVO; import com.ruoyi.fbs.mapper.FbsProjectTaskApplyMapper; import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; import com.ruoyi.fbs.service.IFbsProjectTaskService; @@ -111,7 +113,7 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpllambdaQuery().eq(FbsProjectTaskApply::getTaskId, dto.getTaskId()) .eq(FbsProjectTaskApply::getUserId, dto.getUserId())); //发消息 @@ -162,4 +164,13 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl0; } + + @Override + public TableDataInfo queryPageListByTaskId(FbsTaskApplyListDTO dto) { + Page page = new Page<>(); + page.setCurrent(dto.getPageNum()); + page.setSize(dto.getPageSize()); + Page voPage = baseMapper.queryPageListByTaskId(page, dto); + return PageUtils.buildDataInfo(voPage); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java index 9ce169a..afa3cfb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java @@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.domain.BgtWageApplication; import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO; +import com.ruoyi.bgt.domain.dto.BgtTaskDTO; import com.ruoyi.bgt.domain.dto.BgtWageApplicationQueryDTO; -import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO; -import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; -import com.ruoyi.bgt.domain.vo.BgtProjectTaskUseCountVO; -import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO; +import com.ruoyi.bgt.domain.vo.*; import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; import com.ruoyi.bgt.service.IBgtWageApplicationService; @@ -27,9 +26,11 @@ import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; import com.ruoyi.fbs.domain.FbsProjectTask; -import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskApplyListDTO; +import com.ruoyi.fbs.domain.dto.FbsTaskListDTO; import com.ruoyi.fbs.domain.vo.*; import com.ruoyi.fbs.mapper.FbsProjectTaskMapper; +import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; import com.ruoyi.fbs.service.IFbsProjectTaskService; import com.ruoyi.wgz.service.IWgzAttendanceService; import com.ruoyi.wgz.service.IWgzPayCalculationService; @@ -41,6 +42,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; @@ -56,7 +58,6 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl appQueryPageList(AppTaskDTO dto) { - Page appTaskDTOPage = new Page<>(); + public TableDataInfo appQueryPageList(BgtTaskDTO dto) { + Page appTaskDTOPage = new Page<>(); appTaskDTOPage.setCurrent(dto.getPageNum()); appTaskDTOPage.setSize(dto.getPageSize()); dto.setUserId(SecurityUtils.getAppUserId()); @@ -151,6 +154,7 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl fbsProjectTasks = baseMapper.selectList(wrapper); return BeanUtil.copyToList(fbsProjectTasks,AppTaskVO.class); } @@ -170,20 +174,20 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl wageList = wageApplicationService.appQueryList(wageDTO); - appTaskDetailVO.setWageApplication(CollectionUtil.isEmpty(wageList)?null:wageList.get(0)); - //收款金额 - Integer taskReceiveAmount = wageList.stream().filter(wage -> AuditStatus.PASS.getCode().equals(wage.getAuditStatus())) - .map(BgtWageApplicationListVO::getApplicantAmount) - .reduce(BigDecimal.ZERO, BigDecimal::add).intValue(); - appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount); - //付款金额 - BigDecimal payByTaskAndBgt = payCalculationService.getPayByTaskAndBgt(byId.getId(), byId.getUserId()); - appTaskDetailVO.setTaskPaymentAmount(payByTaskAndBgt); +// //结算情况 +// //收款申请列表 +// BgtWageApplicationQueryDTO wageDTO = new BgtWageApplicationQueryDTO(); +// wageDTO.setTaskId(id); +// List wageList = wageApplicationService.appQueryList(wageDTO); +// appTaskDetailVO.setWageApplication(CollectionUtil.isEmpty(wageList)?null:wageList.get(0)); +// //收款金额 +// Integer taskReceiveAmount = wageList.stream().filter(wage -> AuditStatus.PASS.getCode().equals(wage.getAuditStatus())) +// .map(BgtWageApplicationListVO::getApplicantAmount) +// .reduce(BigDecimal.ZERO, BigDecimal::add).intValue(); +// appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount); +// //付款金额 +// BigDecimal payByTaskAndBgt = payCalculationService.getPayByTaskAndBgt(byId.getId(), byId.getUserId()); +// appTaskDetailVO.setTaskPaymentAmount(payByTaskAndBgt); } return appTaskDetailVO; @@ -234,9 +238,9 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl wageList = wageApplicationService.appQueryList(wageDTO); appTaskDetailVO.setWageApplication(CollectionUtil.isEmpty(wageList)?null:wageList.get(0)); //收款金额 - Integer taskReceiveAmount = wageList.stream().filter(wage -> AuditStatus.PASS.getCode().equals(wage.getAuditStatus())) + int taskReceiveAmount = wageList.stream().filter(wage -> AuditStatus.PASS.getCode().equals(wage.getAuditStatus())) .map(BgtWageApplicationListVO::getApplicantAmount) .reduce(BigDecimal.ZERO, BigDecimal::add).intValue(); - appTaskDetailVO.setTaskReceiveAmount(taskReceiveAmount); + appTaskDetailVO.setTaskReceiveAmount(new BigDecimal(taskReceiveAmount)); //付款金额 BigDecimal payByTaskAndBgt = payCalculationService.getPayByTaskAndBgt(id, SecurityUtils.getAppUserId()); appTaskDetailVO.setTaskPaymentAmount(payByTaskAndBgt); @@ -298,4 +302,58 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl wra = new LambdaQueryWrapper().eq(FbsProjectTask::getStatus, "1"); return baseMapper.selectList(wra); } + + + @Override + public TableDataInfo fbsPageList(FbsTaskListDTO dto) { + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(dto.getType()==0,FbsProjectTask::getStatus,ProjectTaskStatus.getRelease()); + wrapper.eq(dto.getType()==1,FbsProjectTask::getStatus,ProjectTaskStatus.COMPLETE.getCode()); + wrapper.orderByDesc(FbsProjectTask::getId); + Page page = page(PageUtils.buildPage(), wrapper); + List fbsProjectTaskListVOS = new ArrayList<>(); + for (FbsProjectTask task : page.getRecords()){ + FbsProjectTaskListVO fbsProjectTaskListVO = BeanUtil.copyProperties(task, FbsProjectTaskListVO.class); + //查询项目名称 + ZbfProject project = zbfProjectService.getById(task.getProjectId()); + fbsProjectTaskListVO.setProjectName(project.getProjectName()); + //申请列表 + FbsTaskApplyListDTO fbsTaskApplyListDTO = new FbsTaskApplyListDTO(); + fbsTaskApplyListDTO.setPageNum(1); + fbsTaskApplyListDTO.setPageSize(3); + fbsTaskApplyListDTO.setTaskId(task.getId()); + TableDataInfo applyList = fbsProjectTaskApplyService.queryPageListByTaskId(fbsTaskApplyListDTO); + fbsProjectTaskListVO.setApplyList(applyList.getRows()); + fbsProjectTaskListVOS.add(fbsProjectTaskListVO); + } + Page fbsProjectTaskListVOPage = new Page<>(); + fbsProjectTaskListVOPage.setTotal(page.getTotal()); + fbsProjectTaskListVOPage.setRecords(fbsProjectTaskListVOS); + return PageUtils.buildDataInfo(fbsProjectTaskListVOPage); + } + + @Override + public FbsTaskDetailWageVO fbsWage(Long id) { + FbsTaskDetailWageVO fbsTaskDetailWageVO = new FbsTaskDetailWageVO(); + + List wageList = wageApplicationService.list(Wrappers.lambdaQuery() + .eq(BgtWageApplication::getTaskId, id).orderByDesc(BgtWageApplication::getId)); + + BigDecimal taskAuditAmount = BigDecimal.ZERO; + BigDecimal taskApplyAmount= BigDecimal.ZERO; + for (BgtWageApplication wage : wageList) { + taskApplyAmount = taskApplyAmount.add(wage.getApplicantAmount()); + if(AuditStatus.PASS.getCode().equals(wage.getAuditStatus())){ + taskAuditAmount = taskAuditAmount.add(wage.getApplicantAmount()); + } + if(AuditStatus.AUDIT.getCode().equals(wage.getAuditStatus()) && fbsTaskDetailWageVO.getWageApplication() == null){ + BgtWageApplicationListVO bgtWageApplicationListVO = BeanUtil.copyProperties(wage, BgtWageApplicationListVO.class); + fbsTaskDetailWageVO.setWageApplication(bgtWageApplicationListVO); + } + } + fbsTaskDetailWageVO.setTaskAuditAmount(taskAuditAmount); + fbsTaskDetailWageVO.setTaskApplyAmount(taskApplyAmount); + return fbsTaskDetailWageVO; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontractingApply.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontractingApply.java index 7b770a4..ae3932d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontractingApply.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontractingApply.java @@ -55,8 +55,8 @@ public class ZbfProjectSubcontractingApply implements Serializable { private Long fbsUserId; /** 申请状态(0申请中 1已同意 2已拒绝) */ - @Excel(name = "申请状态" , readConverterExp = "0=申请中,1=已同意,2=已拒绝") - @ApiModelProperty("申请状态(0申请中 1已同意 2已拒绝)") + @Excel(name = "申请状态" , readConverterExp = "0=申请中,1=已同意,2=已拒绝,3=已取消") + @ApiModelProperty("申请状态(0=申请中,1=已同意,2=已拒绝,3=已取消)") private String applyStatus; /** 删除标志(0代表存在 2代表删除) */ diff --git a/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml b/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml index 56088ad..b63130f 100644 --- a/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml @@ -17,4 +17,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + diff --git a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml index 30a479b..d0380fc 100644 --- a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml @@ -49,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE EXISTS ( SELECT 1 FROM zbf_project_subcontracting_apply zpsa - WHERE zpsa.fbs_user_id = #{dto.fbsUserId} and zpsa.apply_status != '1' + WHERE zpsa.fbs_user_id = #{dto.fbsUserId} and zpsa.apply_status in('0','2') AND zp.id = zpsa.project_id ) order by zp.id desc diff --git a/ruoyi/uploadPath/appResource/html/upload.html b/ruoyi/uploadPath/appResource/html/upload.html index 3ae2e27..1d84873 100644 --- a/ruoyi/uploadPath/appResource/html/upload.html +++ b/ruoyi/uploadPath/appResource/html/upload.html @@ -193,7 +193,7 @@ // 获取 URL 中的 userId 参数 const urlParams = new URLSearchParams(window.location.search); this.userId = urlParams.get("userId"); - // console.log("userId", this.userId); + console.log("userId", this.userId); this.getRecruitList(); }, @@ -227,7 +227,7 @@ this.loading = true; try { const response = await this.ajaxRequest({ - url: `/ruoyi/app/bgt/apply/htmlList?recruitId=${val}&isUpload=${this.isFilter}`, + url: `/ruoyi/app/bgt/apply/htmlList?recruitId=${val}&isNotUpload=${this.isFilter}`, method: "GET", }); this.currentList = response.data; @@ -247,7 +247,7 @@ this.loading = true; try { const response = await this.ajaxRequest({ - url: `/ruoyi/app/bgt/apply/htmlList?recruitId=${this.selectedTheme}&isUpload=${this.isFilter}`, + url: `/ruoyi/app/bgt/apply/htmlList?recruitId=${this.selectedTheme}&isNotUpload=${this.isFilter}`, method: "GET", }); this.currentList = response.data; @@ -369,7 +369,6 @@ userIds(newVal) { const total = this.currentList.length; this.checkAll = newVal.length === total && total > 0; - this.isFilter = newVal.length === total && total > 0; this.isIndeterminate = newVal.length > 0 && newVal.length < total; }, currentList(newVal) {