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

@ -9,6 +9,8 @@ import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 包工头项目任务进度Mapper接口
*
@ -20,4 +22,6 @@ import org.apache.ibatis.annotations.Param;
public interface BgtProjectTaskProgressMapper extends BaseMapperPlus<BgtProjectTaskProgress> {
Page<BgtProjectTaskProgressVO> appQueryPageList(@Param("page") Page<BgtProjectTaskProgressQueryDTO> page, @Param("dto") BgtProjectTaskProgressQueryDTO dto);
List<BgtProjectTaskProgress> getProgressByTaskIds(@Param("taskIds") List<Long> taskIds);
}

View File

@ -74,4 +74,11 @@ public interface IBgtProjectTaskProgressService extends IServicePlus<BgtProjectT
* 分包商审核
*/
Boolean fbsAudit(BgtProjectTaskProgress bo);
/**
* 根据Id查询任务最新进度
*/
List<BgtProjectTaskProgress> getProgressByTaskIds(List<Long> taskIds);
}

View File

@ -82,4 +82,9 @@ public interface IBgtWageApplicationService extends IServicePlus<BgtWageApplicat
* 分包商审核
*/
Boolean fbsAudit(BgtWageApplication bo);
/**
* 获取任务下先已审核通过的数据
*/
List<BgtWageApplication> getPassListByTaskIds(List<Long> taskIds);
}

View File

@ -29,10 +29,7 @@ import com.ruoyi.fbs.service.IFbsProjectTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
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.*;
import static com.ruoyi.common.constants.FbsMessageConstant.*;
@ -173,6 +170,7 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec
public Integer getLastProgress(Long taskId) {
LambdaQueryWrapper<BgtProjectTaskProgress> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BgtProjectTaskProgress::getTaskId, taskId);
wrapper.eq(BgtProjectTaskProgress::getAuditStatus, AuditStatus.PASS.getCode());
wrapper.orderByDesc(BgtProjectTaskProgress::getProgress);
List<BgtProjectTaskProgress> list = baseMapper.selectList(wrapper);
return CollectionUtil.isEmpty(list)?0:list.get(0).getProgress();
@ -207,4 +205,9 @@ public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjec
return b;
}
@Override
public List<BgtProjectTaskProgress> getProgressByTaskIds(List<Long> taskIds) {
return baseMapper.getProgressByTaskIds(taskIds);
}
}

View File

@ -235,4 +235,12 @@ public class BgtWageApplicationServiceImpl extends ServicePlusImpl<BgtWageApplic
fbsMessageService.operation(USERTYPE_BGT, bo.getUserId(), USERTYPE_FBS, SecurityUtils.getAppUserId(), bo.getId(), SqlHelper.table(BgtProjectTaskProgress.class).getTableName());
return b;
}
@Override
public List<BgtWageApplication> getPassListByTaskIds(List<Long> taskIds) {
LambdaQueryWrapper<BgtWageApplication> wrapper = new LambdaQueryWrapper<>();
wrapper.in(BgtWageApplication::getTaskId, taskIds)
.eq(BgtWageApplication::getAuditStatus, AuditStatus.PASS.getCode());
return list(wrapper);
}
}

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

View File

@ -4,9 +4,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.FbsProjectListDTO;
import com.ruoyi.fbs.domain.vo.FbsProjectDetailVO;
import com.ruoyi.fbs.domain.vo.FbsProjectListCountVO;
import com.ruoyi.fbs.domain.vo.FbsProjectListVO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
@ -97,6 +95,11 @@ public interface IZbfProjectService extends IServicePlus<ZbfProject> {
*/
FbsProjectDetailVO signUpDetail(Long projectId);
/**
* 分包商查看所有申请项目详情
*/
FbsProjectDetailVO applyAllDetail(Long projectId);
/**
* 分包商查看已申请项目详情
*/
@ -107,6 +110,18 @@ public interface IZbfProjectService extends IServicePlus<ZbfProject> {
*/
FbsProjectDetailVO joinOrCompleteDetail(Long projectId);
/**
* 分包商查询项目详情-用工进度
*/
FbsProjectTaskDetailProgressVO fbsProgress(Long projectId);
/**
* 分包商查询项目详情-结算情况
*/
FbsProjectTaskDetailWageVO fbsWage(Long projectId);
/**
* 总包方新增项目
*/
@ -121,4 +136,7 @@ public interface IZbfProjectService extends IServicePlus<ZbfProject> {
* 总包方查询自建项目统计
*/
ZbfProjectCountVO projectCount();
}

View File

@ -6,14 +6,22 @@ import cn.hutool.core.util.StrUtil;
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.BgtProjectTaskProgress;
import com.ruoyi.bgt.domain.BgtWageApplication;
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
import com.ruoyi.bgt.service.IBgtWageApplicationService;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.ProjectStatus;
import com.ruoyi.common.enums.SubcontractingApplyStatus;
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.FbsProjectListDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import com.ruoyi.fbs.service.IFbsWageApplicationService;
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.domain.ZbfProjectSection;
@ -36,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -54,6 +63,14 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
private IZbfProjectSubcontractingService zbfProjectSubcontractingService;
@Autowired
private IZbfProjectSubcontractingApplyService zbfProjectSubcontractingApplyService;
@Autowired
private IFbsProjectTaskService fbsProjectTaskService;
@Autowired
private IBgtProjectTaskProgressService bgtProjectTaskProgressService;
@Autowired
private IFbsWageApplicationService fbsWageApplicationService;
@Autowired
private IBgtWageApplicationService bgtWageApplicationService;
@Override
public ZbfProject queryById(Long id) {
@ -332,6 +349,58 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
return fbsProjectDetailVO;
}
@Override
public FbsProjectDetailVO applyAllDetail(Long projectId) {
ZbfProject byId = getById(projectId);
FbsProjectDetailVO fbsProjectDetailVO = BeanUtil.copyProperties(byId, FbsProjectDetailVO.class);
//查询项目下的所有申请中的申请和已拒绝的申请
List<ZbfProjectSubcontractingApply> applyList = zbfProjectSubcontractingApplyService.list(Wrappers.<ZbfProjectSubcontractingApply>lambdaQuery()
.eq(ZbfProjectSubcontractingApply::getProjectId, projectId)
.eq(ZbfProjectSubcontractingApply::getFbsUserId, SecurityUtils.getAppUserId())
.in(ZbfProjectSubcontractingApply::getApplyStatus, SubcontractingApplyStatus.getApplyAllStatus()));
HashMap<Long, String> map = applyList.stream()
.collect(Collectors.toMap(
ZbfProjectSubcontractingApply::getSubId,
ZbfProjectSubcontractingApply::getApplyStatus,
(existing, replacement) -> replacement,
HashMap::new
));
//标段处理
List<FbsProjectSectionListVO> sectionListVO = new ArrayList<>();
//查询项目下的所有标段
List<ZbfProjectSection> sectionList = zbfProjectSectionService.list(Wrappers.<ZbfProjectSection>lambdaQuery()
.eq(ZbfProjectSection::getProjectId, projectId));
for (ZbfProjectSection zbfProjectSection : sectionList) {
//分包处理
List<FbsProjectSubcontractingListVO> subListVO = new ArrayList<>();
//查询标段下的所有的分包
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
//排除掉未申请、已拒绝、已取消的分包
for (ZbfProjectSubcontracting sub : subList) {
String status = map.get(sub.getId());
if (StrUtil.isBlank(status)) {
continue;
}
FbsProjectSubcontractingListVO fbsProjectSubcontractingListVO = new FbsProjectSubcontractingListVO();
BeanUtil.copyProperties(sub, fbsProjectSubcontractingListVO);
fbsProjectSubcontractingListVO.setApplyStatus(status);
subListVO.add(fbsProjectSubcontractingListVO);
}
if (CollectionUtil.isEmpty(subListVO)) {
continue;
}
FbsProjectSectionListVO fbsProjectSectionListVO = new FbsProjectSectionListVO();
BeanUtil.copyProperties(zbfProjectSection, fbsProjectSectionListVO);
fbsProjectSectionListVO.setSubList(subListVO);
sectionListVO.add(fbsProjectSectionListVO);
}
fbsProjectDetailVO.setSectionList(sectionListVO);
return fbsProjectDetailVO;
}
@Override
public FbsProjectDetailVO applyDetail(Long projectId) {
ZbfProject byId = getById(projectId);
@ -419,6 +488,63 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
return sectionListVO;
}
@Override
public FbsProjectTaskDetailProgressVO fbsProgress(Long projectId) {
//查询所有创建的任务
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
.eq(FbsProjectTask::getCreateId, SecurityUtils.getAppUserId())
.eq(FbsProjectTask::getProjectId, projectId)
);
FbsProjectTaskDetailProgressVO vo = new FbsProjectTaskDetailProgressVO();
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(taskIds)){
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
vo.setProgress(progressByTaskIds.stream().mapToInt(BgtProjectTaskProgress::getProgress).sum());
vo.setTotalProgress(taskList.size() * 100);
}
return vo;
}
@Override
public FbsProjectTaskDetailWageVO fbsWage(Long projectId) {
FbsProjectTaskDetailWageVO vo = new FbsProjectTaskDetailWageVO();
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
.eq(ZbfProjectSubcontracting::getProjectId, projectId)
.eq(ZbfProjectSubcontracting::getUserId, SecurityUtils.getAppUserId())
);
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
//总金额
BigDecimal totalAmount = subList.stream().map(ZbfProjectSubcontracting::getSubAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setTotalAmount(totalAmount);
//接收金额
vo.setReceiveAmount(BigDecimal.ZERO);
if(CollectionUtil.isNotEmpty(subIds)){
List<FbsWageApplication> passList= fbsWageApplicationService.getPassListBySubIds(subIds);
BigDecimal receiveAmount = passList.stream().map(FbsWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setReceiveAmount(receiveAmount);
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
.in(FbsProjectTask::getSubId, subIds)
.eq(FbsProjectTask::getCreateId, SecurityUtils.getAppUserId())
);
//支付总金额
BigDecimal payTotalAmount = taskList.stream().map(FbsProjectTask::getTaskAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setPayTotalAmount(payTotalAmount);
//已支付金额
vo.setPayAmount(BigDecimal.ZERO);
if(CollectionUtil.isNotEmpty(subIds)){
List<BgtWageApplication> payList = bgtWageApplicationService.getPassListByTaskIds(subIds);
BigDecimal payAmount = payList.stream().map(BgtWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setPayAmount(payAmount);
}
}
return vo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean add(ZbfProjectAddDTO dto) {

View File

@ -54,4 +54,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
</select>
<select id="getProgressByTaskIds" resultType="com.ruoyi.bgt.domain.BgtProjectTaskProgress">
SELECT t.*
FROM bgt_project_task_progress t
JOIN (
SELECT task_id, MAX(progress) AS maxProgress
FROM bgt_project_task_progress
WHERE audit_status = '2' and task_id IN
<foreach item="taskId" collection="taskIds" open="(" separator="," close=")">
#{taskId}
</foreach>
GROUP BY task_id
) sub ON t.task_id = sub.task_id AND t.progress = sub.maxProgress
</select>
</mapper>

View File

@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bu.avatar_name
from fbs_project_task_apply fpta
left join bgt_user bu on fpta.user_id = bu.user_id
where fpta.task_id = #{dto.taskId}
where fpta.task_id = #{dto.taskId} and fpta.apply_status != '3'
<if test="dto.applyStatus != null and dto.applyStatus != ''">
and fpta.apply_status = #{dto.applyStatus}
</if>

View File

@ -66,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM fbs_project_task_apply
WHERE task_id = fpt.id
AND user_id = #{dto.userId}
AND apply_status in ('0','1','2')
)
</if>
<if test='dto.myTask and dto.status != null and dto.status == "0"'>
@ -74,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM fbs_project_task_apply
WHERE task_id = fpt.id
AND user_id = #{dto.userId}
AND apply_status in ('0','1')
)
</if>
<if test="dto.taskName != null and dto.taskName != '' ">

View File

@ -91,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
project_img,
project_status
FROM zbf_project zp
zp.id in (select zpsa.project_id from zbf_project_subcontracting_apply zpsa where zpsa.fbs_user_id = #{dto.fbsUserId})
where zp.id in (select zpsa.project_id from zbf_project_subcontracting_apply zpsa where zpsa.fbs_user_id = #{dto.fbsUserId})
order by zp.id desc
</select>