This commit is contained in:
zt
2025-04-03 09:56:56 +08:00
parent bfc839fa8d
commit 6a6adcf8b2
26 changed files with 521 additions and 38 deletions

View File

@ -91,6 +91,9 @@ public class AppTaskDetailVO {
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("申请状态0申请中 1已同意 2已拒绝 3已取消")
private String applyStatus;
@ApiModelProperty("发布时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime createTime;

View File

@ -0,0 +1,104 @@
package com.ruoyi.fbs.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDate;
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("分包商查看务工者个人基本信息返回对象")
public class FbsGetWgzUserInfoVO implements Serializable {
@ApiModelProperty("主键ID")
private String id;
@ApiModelProperty("唯一标识")
private Long userId;
@ApiModelProperty("姓名")
private String username;
@ApiModelProperty("性别字典sys_user_sex")
private String gender;
@ApiModelProperty("民族")
private String nation;
@ApiModelProperty("出生日期")
private LocalDate birthdate;
@ApiModelProperty("年龄")
private Integer age;
@ApiModelProperty("身份证号码")
private String identityCard;
@ApiModelProperty("所在区域")
private String area;
@ApiModelProperty("地址")
private String site;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("银行")
private String bank;
@ApiModelProperty("银行卡号")
private String cardNo;
@ApiModelProperty("头像地址")
private String avatarName;
@ApiModelProperty("身份证正面图路径")
private String frontPath;
@ApiModelProperty("身份证反面图路径")
private String reverseSidePath;
@ApiModelProperty("银行卡图路径")
private String bankCardPath;
@ApiModelProperty("评分")
private Double score;
@ApiModelProperty("工种,多个逗号分隔")
private String typeOfWork;
@ApiModelProperty("工种名")
private String typeOfWorkName;
@ApiModelProperty("是否被选择")
private Boolean isChoose;
@ApiModelProperty("工作状态")
private String workStatus;
@ApiModelProperty("是否工资结清")
private Boolean isPay;
@ApiModelProperty("项目名称")
private String projectName;
@ApiModelProperty("标段名称")
private String sectionName;
@ApiModelProperty("分包主题")
private String subName;
@ApiModelProperty("进场时间")
private LocalDate entryTime;
@ApiModelProperty("劳务单位")
private String companyName;
@ApiModelProperty("员工类型")
private String workerType;
}

View File

@ -0,0 +1,27 @@
package com.ruoyi.fbs.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* 包工头项目任务进度对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头项目详情-任务进度视图对象")
public class FbsProjectTaskDetailProgressVO{
@ApiModelProperty("总进度")
private Integer totalProgress = 0;
@ApiModelProperty("进度")
private Integer progress = 0;
}

View File

@ -0,0 +1,36 @@
package com.ruoyi.fbs.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* 包工头项目任务进度对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头项目详情-结算情况视图对象")
public class FbsProjectTaskDetailWageVO {
@ApiModelProperty("总金额")
private BigDecimal totalAmount;
@ApiModelProperty("接收金额")
private BigDecimal receiveAmount;
@ApiModelProperty("支付金额")
private BigDecimal payAmount;
@ApiModelProperty("支付总金额")
private BigDecimal payTotalAmount;
}

View File

@ -80,4 +80,9 @@ public interface IFbsProjectTaskApplyService extends IServicePlus<FbsProjectTask
* 分包商选择包工头
*/
Boolean choose(Long id);
/**
* 获取包工头该任务的最新申请
*/
FbsProjectTaskApply getApplyByTaskId(Long taskId);
}

View File

@ -58,4 +58,9 @@ public interface IFbsWageApplicationService extends IServicePlus<FbsWageApplicat
* 查询列表
*/
TableDataInfo<FbsWageApplication> record(FbsWageApplicationListDTO dto);
/**
* 获取分包下先已审核通过的数据
*/
List<FbsWageApplication> getPassListBySubIds(List<Long> subIds);
}

View File

@ -2,6 +2,7 @@ package com.ruoyi.fbs.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -223,9 +224,17 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTa
throw new BaseException("该申请已取消");
}
FbsProjectTask task = taskService.getById(taskApply.getTaskId());
if(task!=null && task.getUserId()!=null){
if(task == null){
throw new BaseException("该任务不存在");
}
if(task.getUserId()!=null){
throw new BaseException("该任务已被承接");
}
if("0".equals(task.getStatus())){
task.setStatus("1");
}
task.setUserId(taskApply.getUserId());
taskService.updateById(task);
//拒绝其余包工头
LambdaQueryWrapper<FbsProjectTaskApply> wrapper = new LambdaQueryWrapper<>();
@ -267,4 +276,14 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTa
fbsMessageService.operationBatch(USERTYPE_FBS,SecurityUtils.getAppUserId(),list.stream().map(FbsProjectTaskApply::getId).collect(Collectors.toList()),SqlHelper.table(FbsProjectTaskApply.class).getTableName());
return super.updateBatchById(list);
}
@Override
public FbsProjectTaskApply getApplyByTaskId(Long taskId) {
LambdaQueryWrapper<FbsProjectTaskApply> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FbsProjectTaskApply::getTaskId, taskId);
wrapper.eq(FbsProjectTaskApply::getUserId, SecurityUtils.getAppUserId());
wrapper.orderByDesc(FbsProjectTaskApply::getId);
List<FbsProjectTaskApply> list = list(wrapper);
return CollectionUtil.isEmpty(list)?null:list.get(0);
}
}

View File

@ -354,6 +354,9 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
public FbsTaskDetailWageVO fbsWage(Long id) {
FbsTaskDetailWageVO fbsTaskDetailWageVO = new FbsTaskDetailWageVO();
FbsProjectTask task = getById(id);
fbsTaskDetailWageVO.setTaskAmount(task.getTaskAmount());
List<BgtWageApplication> wageList = wageApplicationService.list(Wrappers.<BgtWageApplication>lambdaQuery()
.eq(BgtWageApplication::getTaskId, id).orderByDesc(BgtWageApplication::getId));

View File

@ -24,10 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.ruoyi.common.constants.BgtMessageConstant.HEADLINE;
import static com.ruoyi.common.constants.BgtMessageConstant.SUBHEADING;
@ -153,4 +150,12 @@ public class FbsWageApplicationServiceImpl extends ServicePlusImpl<FbsWageApplic
Page<FbsWageApplication> result = page(PageUtils.buildPage(), wrapper);
return PageUtils.buildDataInfo(result);
}
@Override
public List<FbsWageApplication> getPassListBySubIds(List<Long> subIds) {
LambdaQueryWrapper<FbsWageApplication> wrapper = new LambdaQueryWrapper<>();
wrapper.in(FbsWageApplication::getSubId, subIds)
.eq(FbsWageApplication::getAuditStatus, AuditStatus.PASS.getCode());
return list(wrapper);
}
}