This commit is contained in:
zt
2025-04-18 14:45:08 +08:00
parent d6efd8c450
commit ddff49d08c
14 changed files with 278 additions and 19 deletions

View File

@ -0,0 +1,41 @@
package com.ruoyi.zbf.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 包工头工资申请分页查询对象 bgt_wage_application
*
* @author ruoyi
* @date 2025-02-20
*/
@Data
@ApiModel("App总包方查看包工头工资申请分页查询对象")
public class ZbfGetBgtWageListDTO {
/** 分页大小 */
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
@ApiModelProperty("任务ID(单个)")
private Long taskId;
@ApiModelProperty("分包ID(总和)")
private Long subId;
@ApiModelProperty("包工头用户ID")
@NotNull(message = "包工头用户ID不能为空")
private Long bgtUserId;
@ApiModelProperty("筛选1申请中 2已结算 3未通过")
private Integer type;
}

View File

@ -22,7 +22,7 @@ public class ZbfWageApplicationListDTO {
@ApiModelProperty("当前页数")
private Integer pageNum;
@ApiModelProperty("类型:0-申请中 1-已结算")
@ApiModelProperty("类型:1-待审核 2-同意 3-拒绝")
private Integer type;
@ApiModelProperty("项目Id")

View File

@ -0,0 +1,33 @@
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_section
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@Accessors(chain = true)
@ApiModel("总包方项目标段修改视图对象")
public class ZbfProjectSectionUpdateVO {
@ApiModelProperty("主键")
private Long id;
@ApiModelProperty("标段名称")
private String sectionName;
@ApiModelProperty("标段描述")
private String sectionDescribe;
@ApiModelProperty("分包列表")
private List<ZbfProjectSubcontractingUpdateVO> subList;
}

View File

@ -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;
}

View File

@ -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<ZbfProjectSectionUpdateVO> sectionList;
}

View File

@ -134,11 +134,14 @@ public interface IZbfProjectService extends IServicePlus<ZbfProject> {
*/
Boolean add(ZbfProjectAddDTO dto);
/**
* 总包方编辑项目
*/
Boolean edit(ZbfProjectAddDTO dto);
/**
* 总包方获取编辑所需项目信息
*/
ZbfProjectUpdateVO zbfEditInfo(Long projectId);
/**
* 总包方查询我的项目列表
*/

View File

@ -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<ZbfProjectMapper, Zbf
private IWgzAttendanceService wgzAttendanceService;
@Autowired
private IWgzPayCalculationService wgzPayCalculationService;
@Autowired
private IZbfUserService zbfUserService;
@Override
public ZbfProject queryById(Long id) {
@ -585,6 +584,14 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean add(ZbfProjectAddDTO dto) {
//校验
Long appUserId = SecurityUtils.getAppUserId();
ZbfUser zbfUser = zbfUserService.selectUserByUserId(appUserId);
if( zbfUser.getCompanyId()==null){
throw new BaseException("尚未企业认证");
}
ZbfProject project = BeanUtil.copyProperties(dto, ZbfProject.class, "id");
project.setUserId(SecurityUtils.getAppUserId());
boolean save = save(project);
@ -684,11 +691,38 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
return update;
}
@Override
public ZbfProjectUpdateVO zbfEditInfo(Long projectId) {
ZbfProject byId = getById(projectId);
ZbfProjectUpdateVO zbfProjectUpdateVO = BeanUtil.copyProperties(byId, ZbfProjectUpdateVO.class);
//标段处理
List<ZbfProjectSectionUpdateVO> sectionListVO = new ArrayList<>();
//查询项目下的所有标段
List<ZbfProjectSection> sectionList = zbfProjectSectionService.list(Wrappers.<ZbfProjectSection>lambdaQuery()
.eq(ZbfProjectSection::getProjectId, zbfProjectUpdateVO.getId()));
for (ZbfProjectSection zbfProjectSection : sectionList) {
//分包处理
//查询标段下的所有的分包
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
List<ZbfProjectSubcontractingUpdateVO> 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<ZbfProjectListVO> queryZbfList(ZbfProjectListDTO dto) {
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName());
wrapper.orderByDesc(ZbfProject::getId);
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
List<ZbfProjectListVO> zbfProjectListVOS = BeanUtil.copyToList(result.getRecords(), ZbfProjectListVO.class);
@ -742,6 +776,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
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());
wrapper.orderByDesc(ZbfProject::getId);
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
return PageUtils.buildDataInfo(result);
}