From ddff49d08c64a15caa5b5ad97227bd5446b373f2 Mon Sep 17 00:00:00 2001 From: zt Date: Fri, 18 Apr 2025 14:45: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 | 7 +++ .../zbf/AppZbfProjectTaskController.java | 15 +++++- .../service/IBgtWageApplicationService.java | 6 +++ .../impl/BgtWageApplicationServiceImpl.java | 18 ++++++- .../domain/dto/FbsWageApplicationListDTO.java | 2 +- .../impl/FbsProjectTaskServiceImpl.java | 11 +++- .../impl/FbsWageApplicationServiceImpl.java | 18 +++++-- .../zbf/domain/dto/ZbfGetBgtWageListDTO.java | 41 +++++++++++++++ .../domain/dto/ZbfWageApplicationListDTO.java | 2 +- .../domain/vo/ZbfProjectSectionUpdateVO.java | 33 ++++++++++++ .../vo/ZbfProjectSubcontractingUpdateVO.java | 39 ++++++++++++++ .../zbf/domain/vo/ZbfProjectUpdateVO.java | 51 +++++++++++++++++++ .../ruoyi/zbf/service/IZbfProjectService.java | 9 ++-- .../service/impl/ZbfProjectServiceImpl.java | 45 ++++++++++++++-- 14 files changed, 278 insertions(+), 19 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zbf/domain/dto/ZbfGetBgtWageListDTO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSectionUpdateVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingUpdateVO.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectUpdateVO.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 4de5f2f..8ac0b65 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 @@ -52,6 +52,13 @@ public class AppZbfProjectController extends BaseController { public AjaxResult edit(@Validated @RequestBody ZbfProjectAddDTO dto) { return AjaxResult.success(iZbfProjectService.edit(dto)); } + @ApiOperation("总包方获取编辑所需项目信息") + @GetMapping("/edit/{projectId}") + public AjaxResult zbfEditInfo(@NotNull(message = "主键不能为空") + @PathVariable("projectId") Long projectId) { + return AjaxResult.success(iZbfProjectService.zbfEditInfo(projectId)); + } + @ApiOperation("总包方查询我的项目列表") @GetMapping("/list") 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 8f4fa2c..181ffdb 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 @@ -2,9 +2,11 @@ package com.ruoyi.web.controller.zbf; import cn.hutool.core.bean.BeanUtil; import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.domain.BgtWageApplication; import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; import com.ruoyi.bgt.service.IBgtUserService; +import com.ruoyi.bgt.service.IBgtWageApplicationService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.BgtUser; @@ -14,7 +16,10 @@ import com.ruoyi.common.service.ICompanyService; import com.ruoyi.common.util.DataUtil; import com.ruoyi.fbs.domain.FbsProjectTask; import com.ruoyi.fbs.domain.dto.FbsProjectTaskUserDTO; -import com.ruoyi.fbs.domain.vo.*; +import com.ruoyi.fbs.domain.vo.AppTaskDetailProgressVO; +import com.ruoyi.fbs.domain.vo.AppTaskDetailVO; +import com.ruoyi.fbs.domain.vo.FbsGetWgzUserInfoVO; +import com.ruoyi.fbs.domain.vo.FbsTaskDetailWageVO; import com.ruoyi.fbs.service.IFbsProjectTaskService; import com.ruoyi.fbs.service.IFbsUserService; import com.ruoyi.wgz.domain.WgzUser; @@ -22,6 +27,7 @@ import com.ruoyi.wgz.service.IWgzUserService; import com.ruoyi.zbf.domain.ZbfProject; import com.ruoyi.zbf.domain.ZbfProjectSection; import com.ruoyi.zbf.domain.ZbfProjectSubcontracting; +import com.ruoyi.zbf.domain.dto.ZbfGetBgtWageListDTO; import com.ruoyi.zbf.domain.dto.ZbfProjectTaskDTO; import com.ruoyi.zbf.domain.dto.ZbfProjectTaskUserDTO; import com.ruoyi.zbf.domain.dto.ZbfTaskAllDTO; @@ -62,6 +68,7 @@ public class AppZbfProjectTaskController extends BaseController { private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService; private final IFbsUserService iFbsUserService; private final ICompanyService iCompanyService; + private final IBgtWageApplicationService iBgtWageApplicationService; @ApiOperation("总包方查询任务详情-基础信息") @GetMapping("/base/{taskId}") @@ -97,6 +104,12 @@ public class AppZbfProjectTaskController extends BaseController { return AjaxResult.success(iFbsProjectTaskService.fbsWage(taskId)); } + @ApiOperation("总包方查询任务详情-工资结算审批列表") + @GetMapping("/wageList") + public TableDataInfo taskWageList(@Validated ZbfGetBgtWageListDTO dto) { + return iBgtWageApplicationService.taskWageList(dto); + } + @ApiOperation("总包方查询任务详情-单个-务工人员数量") @GetMapping("/wgzList") public TableDataInfo taskWgzList(@Validated FbsProjectTaskUserDTO dto) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtWageApplicationService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtWageApplicationService.java index 684beeb..74c1629 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtWageApplicationService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtWageApplicationService.java @@ -9,6 +9,7 @@ import com.ruoyi.bgt.domain.vo.BgtWageApplicationVO; import com.ruoyi.common.core.mybatisplus.core.IServicePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.fbs.domain.dto.FbsWageAuditListDTO; +import com.ruoyi.zbf.domain.dto.ZbfGetBgtWageListDTO; import java.util.Collection; import java.util.List; @@ -87,4 +88,9 @@ public interface IBgtWageApplicationService extends IServicePlus getPassListByTaskIds(List taskIds); + + /** + * 总包方查询任务详情-单个-工资结算审批列表 + */ + TableDataInfo taskWageList(ZbfGetBgtWageListDTO dto); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtWageApplicationServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtWageApplicationServiceImpl.java index 723ba21..1555303 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtWageApplicationServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtWageApplicationServiceImpl.java @@ -29,6 +29,7 @@ import com.ruoyi.fbs.domain.dto.FbsWageAuditListDTO; import com.ruoyi.fbs.service.IFbsMessageService; import com.ruoyi.fbs.service.IFbsProjectTaskService; import com.ruoyi.fbs.service.IFbsUserService; +import com.ruoyi.zbf.domain.dto.ZbfGetBgtWageListDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -102,14 +103,15 @@ public class BgtWageApplicationServiceImpl extends ServicePlusImpl list = list(Wrappers.lambdaQuery().eq(BgtWageApplication::getTaskId, bo.getTaskId()) + List list = list(Wrappers.lambdaQuery() + .eq(BgtWageApplication::getTaskId, bo.getTaskId()) .eq(BgtWageApplication::getUserId, SecurityUtils.getAppUserId()) .in(BgtWageApplication::getAuditStatus, AuditStatus.getUse())); boolean b = list.stream() .anyMatch(app -> AuditStatus.AUDIT.getCode().equals(app.getAuditStatus())); if(b){ - throw new BaseException("您还有未审核的申请,待审核完之后在进行申请"); + throw new BaseException("该任务存在未审核的工资申请,请等待审核完成之后再提交"); } //收款金额 int taskUseAmount = list.stream() @@ -259,4 +261,16 @@ public class BgtWageApplicationServiceImpl extends ServicePlusImpl taskWageList(ZbfGetBgtWageListDTO dto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(dto.getTaskId()!=null,BgtWageApplication::getTaskId, dto.getTaskId()) + .eq(dto.getSubId()!=null,BgtWageApplication::getSubId, dto.getSubId()) + .eq(BgtWageApplication::getUserId, dto.getBgtUserId()) + .eq(BgtWageApplication::getAuditStatus, dto.getType()) + .orderByDesc(BgtWageApplication::getId); + Page result = page(PageUtils.buildPage(), wrapper); + return PageUtils.buildDataInfo(result); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsWageApplicationListDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsWageApplicationListDTO.java index 999ed1d..7cc46db 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsWageApplicationListDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/FbsWageApplicationListDTO.java @@ -22,7 +22,7 @@ public class FbsWageApplicationListDTO { @ApiModelProperty("当前页数") private Integer pageNum; - @ApiModelProperty("类型:0-申请中 1-已结算") + @ApiModelProperty("类型:1-待审核 2-同意 3-拒绝") private Integer type; @ApiModelProperty("项目Id") 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 3938f75..bff2fd6 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 @@ -20,12 +20,14 @@ import com.ruoyi.bgt.service.IBgtMessageService; import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; import com.ruoyi.bgt.service.IBgtWageApplicationService; +import com.ruoyi.common.core.domain.entity.FbsUser; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.AuditStatus; import com.ruoyi.common.enums.ProjectTaskStatus; import com.ruoyi.common.enums.RecruitApplyStatus; import com.ruoyi.common.enums.TaskApplyStatus; +import com.ruoyi.common.exception.BaseException; import com.ruoyi.common.util.DataUtil; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.PageUtils; @@ -39,6 +41,7 @@ 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.fbs.service.IFbsUserService; import com.ruoyi.wgz.service.IWgzAttendanceService; import com.ruoyi.wgz.service.IWgzPayCalculationService; import com.ruoyi.zbf.domain.ZbfProject; @@ -93,6 +96,8 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(FbsWageApplication::getUserId, SecurityUtils.getAppUserId()) .eq(dto.getProjectId()!=null,FbsWageApplication::getProjectId, dto.getProjectId()) - .eq(ObjectUtil.equal(dto.getType(),0), FbsWageApplication::getAuditStatus, AuditStatus.AUDIT.getCode()) - .in(ObjectUtil.equal(dto.getType(),1), FbsWageApplication::getAuditStatus, AuditStatus.getAudit()) + .eq(dto.getType()!=null, FbsWageApplication::getAuditStatus, dto.getType()) .orderByDesc(FbsWageApplication::getId) ; Page result = page(PageUtils.buildPage(), wrapper); @@ -185,10 +183,10 @@ public class FbsWageApplicationServiceImpl extends ServicePlusImpl zbfWageList(ZbfWageApplicationListDTO dto) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(FbsWageApplication::getReviewerId, SecurityUtils.getAppUserId()) - .eq(ObjectUtil.equal(dto.getType(),0), FbsWageApplication::getAuditStatus, AuditStatus.AUDIT.getCode()) - .in(ObjectUtil.equal(dto.getType(),1), FbsWageApplication::getAuditStatus, AuditStatus.getAudit()) + .eq(dto.getType()!=null, FbsWageApplication::getAuditStatus, dto.getType()) .eq(dto.getProjectId()!=null,FbsWageApplication::getProjectId, dto.getProjectId()) .eq(dto.getSubId()!=null,FbsWageApplication::getSubId, dto.getSubId()) + .orderByDesc(FbsWageApplication::getId) ; Page result = page(PageUtils.buildPage(), wrapper); return PageUtils.buildDataInfo(result); @@ -230,6 +228,13 @@ public class FbsWageApplicationServiceImpl extends ServicePlusImpl AuditStatus.AUDIT.getCode().equals(item.getAuditStatus())); + if(b){ + throw new BaseException("该分包存在未审核的工资申请,请等待审核完成之后再提交"); + } + //收款金额 int taskUseAmount = list.stream() .map(FbsWageApplication::getApplicantAmount) @@ -247,6 +252,9 @@ public class FbsWageApplicationServiceImpl extends ServicePlusImpl subList; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingUpdateVO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingUpdateVO.java new file mode 100644 index 0000000..06c2b20 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectSubcontractingUpdateVO.java @@ -0,0 +1,39 @@ +package com.ruoyi.zbf.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +/** + * 总包方项目分包对象 zbf_project_subcontracting + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@Accessors(chain = true) +@ApiModel("总包方项目分包编辑视图对象") +public class ZbfProjectSubcontractingUpdateVO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("分包主题") + private String subName; + + @ApiModelProperty("分包描述") + private String subDescribe; + + @ApiModelProperty("分包金额") + private BigDecimal subAmount; + + @ApiModelProperty("资质要求") + private String qualification; + + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectUpdateVO.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectUpdateVO.java new file mode 100644 index 0000000..8494c9e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/vo/ZbfProjectUpdateVO.java @@ -0,0 +1,51 @@ +package com.ruoyi.zbf.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 总包方项目对象 zbf_project + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@Accessors(chain = true) +@ApiModel("总包方项目编辑视图") +public class ZbfProjectUpdateVO { + + @ApiModelProperty("主键") + private Long id; + + @ApiModelProperty("单位名称") + private String unitName; + + @ApiModelProperty("统一社会信用代码") + private String creditCode; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("项目图片") + private String projectImg; + + @ApiModelProperty("项目地址") + private String projectAddress; + + @ApiModelProperty("联系人") + private String contactPerson; + + @ApiModelProperty("联系电话") + private String contactPhone; + + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("标段列表") + private List sectionList; + +} 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 86c5383..d1c2c7f 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 @@ -134,11 +134,14 @@ public interface IZbfProjectService extends IServicePlus { */ Boolean add(ZbfProjectAddDTO dto); - /** - * 总包方编辑项目 - */ + Boolean edit(ZbfProjectAddDTO dto); + /** + * 总包方获取编辑所需项目信息 + */ + ZbfProjectUpdateVO zbfEditInfo(Long projectId); + /** * 总包方查询我的项目列表 */ 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 4d1f79f..f535d29 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 @@ -12,6 +12,7 @@ import com.ruoyi.bgt.domain.BgtWageApplication; import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; import com.ruoyi.bgt.service.IBgtWageApplicationService; +import com.ruoyi.common.core.domain.entity.ZbfUser; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.ProjectStatus; @@ -39,10 +40,7 @@ import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply; import com.ruoyi.zbf.domain.dto.*; import com.ruoyi.zbf.domain.vo.*; import com.ruoyi.zbf.mapper.ZbfProjectMapper; -import com.ruoyi.zbf.service.IZbfProjectSectionService; -import com.ruoyi.zbf.service.IZbfProjectService; -import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService; -import com.ruoyi.zbf.service.IZbfProjectSubcontractingService; +import com.ruoyi.zbf.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -82,7 +80,8 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl sectionListVO = new ArrayList<>(); + //查询项目下的所有标段 + List sectionList = zbfProjectSectionService.list(Wrappers.lambdaQuery() + .eq(ZbfProjectSection::getProjectId, zbfProjectUpdateVO.getId())); + for (ZbfProjectSection zbfProjectSection : sectionList) { + //分包处理 + //查询标段下的所有的分包 + List subList = zbfProjectSubcontractingService.list(Wrappers.lambdaQuery() + .eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId())); + List zbfProjectSubcontractingListVOS = BeanUtil.copyToList(subList, ZbfProjectSubcontractingUpdateVO.class); + + ZbfProjectSectionUpdateVO zbfProjectSectionUpdateVO = new ZbfProjectSectionUpdateVO(); + BeanUtil.copyProperties(zbfProjectSection, zbfProjectSectionUpdateVO); + zbfProjectSectionUpdateVO.setSubList(zbfProjectSubcontractingListVOS); + sectionListVO.add(zbfProjectSectionUpdateVO); + } + zbfProjectUpdateVO.setSectionList(sectionListVO); + + return zbfProjectUpdateVO; + } + @Override public TableDataInfo queryZbfList(ZbfProjectListDTO dto) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId()); wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName()); + wrapper.orderByDesc(ZbfProject::getId); Page result = page(PageUtils.buildPage(), wrapper); List zbfProjectListVOS = BeanUtil.copyToList(result.getRecords(), ZbfProjectListVO.class); @@ -742,6 +776,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl result = page(PageUtils.buildPage(), wrapper); return PageUtils.buildDataInfo(result); }