任务,招工

This commit is contained in:
zt
2025-02-18 14:15:00 +08:00
parent 211b9c5475
commit ef59432ca6
75 changed files with 4684 additions and 21 deletions

View File

@ -0,0 +1,42 @@
package com.ruoyi.fbs.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 分包商项目任务申请分页查询对象 fbs_project_task_apply
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("分包商项目任务申请分页查询对象")
public class FbsProjectTaskApplyQueryBo extends BaseEntity {
/** 分页大小 */
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
/** 排序列 */
@ApiModelProperty("排序列")
private String orderByColumn;
/** 排序的方向desc或者asc */
@ApiModelProperty(value = "排序的方向", example = "asc,desc")
private String isAsc;
/** 任务ID */
@ApiModelProperty("任务ID")
private Long taskId;
/** 包工头用户ID */
@ApiModelProperty("包工头用户ID")
private Long userId;
}

View File

@ -0,0 +1,78 @@
package com.ruoyi.fbs.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 分包商项目任务分页查询对象 fbs_project_task
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("分包商项目任务分页查询对象")
public class FbsProjectTaskQueryBo extends BaseEntity {
/** 分页大小 */
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
/** 排序列 */
@ApiModelProperty("排序列")
private String orderByColumn;
/** 排序的方向desc或者asc */
@ApiModelProperty(value = "排序的方向", example = "asc,desc")
private String isAsc;
/** 项目ID */
@ApiModelProperty("项目ID")
private Long projectId;
/** 标段ID */
@ApiModelProperty("标段ID")
private Long sectionId;
/** 分包ID */
@ApiModelProperty("分包ID")
private Long subId;
/** 任务名称 */
@ApiModelProperty("任务名称")
private String taskName;
/** 任务地址 */
@ApiModelProperty("任务地址")
private String taskAddress;
/** 任务金额 */
@ApiModelProperty("任务金额")
private Long taskAmount;
/** 用工数量 */
@ApiModelProperty("用工数量")
private Long taskStaffNum;
/** 任务开始时间 */
@ApiModelProperty("任务开始时间")
private String taskBeginTime;
/** 联系人 */
@ApiModelProperty("联系人")
private String taskContactPerson;
/** 联系电话 */
@ApiModelProperty("联系电话")
private String taskContactPhone;
/** 分包描述 */
@ApiModelProperty("任务描述")
private String taskDescribe;
/** 任务图片 */
@ApiModelProperty("任务图片")
private String taskImg;
/** 资质要求 */
@ApiModelProperty("资质要求")
private String qualification;
/** 包工头用户ID */
@ApiModelProperty("包工头用户ID")
private Long userId;
}

View File

@ -0,0 +1,142 @@
package com.ruoyi.fbs.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
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.LocalDateTime;
/**
* 分包商项目任务对象 fbs_project_task
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("fbs_project_task")
@ApiModel("分包商项目任务视图对象")
public class FbsProjectTask implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id", type = IdType.AUTO)
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;
/** 任务名称 */
@Excel(name = "任务名称")
@ApiModelProperty("任务名称")
private String taskName;
/** 任务地址 */
@Excel(name = "任务地址")
@ApiModelProperty("任务地址")
private String taskAddress;
/** 任务金额 */
@Excel(name = "任务金额")
@ApiModelProperty("任务金额")
private Long taskAmount;
/** 用工数量 */
@Excel(name = "用工数量")
@ApiModelProperty("用工数量")
private Long taskStaffNum;
/** 任务开始时间 */
@Excel(name = "任务开始时间")
@ApiModelProperty("任务开始时间")
private String taskBeginTime;
/** 联系人 */
@Excel(name = "联系人")
@ApiModelProperty("联系人")
private String taskContactPerson;
/** 联系电话 */
@Excel(name = "联系电话")
@ApiModelProperty("联系电话")
private String taskContactPhone;
/** 分包描述 */
@Excel(name = "任务描述")
@ApiModelProperty("任务描述")
private String taskDescribe;
/** 任务图片 */
@Excel(name = "任务图片")
@ApiModelProperty("任务图片")
private String taskImg;
/** 资质要求 */
@Excel(name = "资质要求")
@ApiModelProperty("资质要求")
private String qualification;
/** 包工头用户ID */
@Excel(name = "包工头用户ID")
@ApiModelProperty("包工头用户ID")
private Long userId;
@Excel(name = "任务状态1进行中 2已完成")
@ApiModelProperty("任务状态1进行中 2已完成")
private String status;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag;
/** 创建者 */
@Excel(name = "创建者")
@ApiModelProperty("创建者")
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 创建时间 */
@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 更新者 */
@Excel(name = "更新者")
@ApiModelProperty("更新者")
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateBy;
/** 更新时间 */
@Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty("备注")
private String remark;
}

View File

@ -0,0 +1,78 @@
package com.ruoyi.fbs.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
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.LocalDateTime;
/**
* 分包商项目任务申请对象 fbs_project_task_apply
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("fbs_project_task_apply")
@ApiModel("分包商项目任务申请视图对象")
public class FbsProjectTaskApply implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
private Long id;
/** 任务ID */
@Excel(name = "任务ID")
@ApiModelProperty("任务ID")
private Long taskId;
/** 包工头用户ID */
@Excel(name = "包工头用户ID")
@ApiModelProperty("包工头用户ID")
private Long userId;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag;
/** 创建者 */
@Excel(name = "创建者")
@ApiModelProperty("创建者")
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 创建时间 */
@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 更新者 */
@Excel(name = "更新者")
@ApiModelProperty("更新者")
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateBy;
/** 更新时间 */
@Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
/** 备注 */
@Excel(name = "备注")
@ApiModelProperty("备注")
private String remark;
}

View File

@ -0,0 +1,24 @@
package com.ruoyi.fbs.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("app项目任务列表查询条件")
public class AppTaskDTO {
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
@ApiModelProperty("任务名称")
private String taskName;
@ApiModelProperty("承接人")
private Long userId;
@ApiModelProperty("任务状态1进行中 2已完成")
private String status;
}

View File

@ -0,0 +1,16 @@
package com.ruoyi.fbs.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("app申请承接任务")
public class TaskApplyDTO {
@ApiModelProperty("任务ID")
private Long taskId;
@ApiModelProperty("包工头用户ID")
private Long userId;
}

View File

@ -0,0 +1,69 @@
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 java.time.LocalDateTime;
@Data
@ApiModel("包工头项目任务列表")
public class AppTaskDetailVO {
@ApiModelProperty("主键ID")
private Long id;
/** 任务名称 */
@ApiModelProperty("任务名称")
private String taskName;
/** 任务地址 */
@ApiModelProperty("任务地址")
private String taskAddress;
/** 任务金额 */
@ApiModelProperty("任务金额")
private Long taskAmount;
/** 用工数量 */
@ApiModelProperty("用工数量")
private Long taskStaffNum;
/** 任务开始时间 */
@ApiModelProperty("任务开始时间")
private String taskBeginTime;
/** 联系人 */
@ApiModelProperty("联系人")
private String taskContactPerson;
/** 联系电话 */
@ApiModelProperty("联系电话")
private String taskContactPhone;
/** 分包描述 */
@ApiModelProperty("任务描述")
private String taskDescribe;
/** 任务图片 */
@ApiModelProperty("任务图片")
private String taskImg;
/** 资质要求 */
@ApiModelProperty("资质要求")
private String qualification;
/** 备注 */
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("发布时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,39 @@
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 java.time.LocalDateTime;
@Data
@ApiModel("包工头项目任务列表")
public class AppTaskVO {
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("任务名称")
private String taskName;
/** 任务地址 */
@ApiModelProperty("任务地址")
private String taskAddress;
/** 任务金额 */
@ApiModelProperty("任务金额")
private Long taskAmount;
/** 用工数量 */
@ApiModelProperty("用工数量")
private Long taskStaffNum;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("发布时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty("申请数量")
private Integer applyNum;
}

View File

@ -0,0 +1,18 @@
package com.ruoyi.fbs.mapper;
import com.ruoyi.fbs.domain.FbsProjectTaskApply;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
import org.apache.ibatis.annotations.CacheNamespace;
/**
* 分包商项目任务申请Mapper接口
*
* @author ruoyi
* @date 2025-02-17
*/
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface FbsProjectTaskApplyMapper extends BaseMapperPlus<FbsProjectTaskApply> {
}

View File

@ -0,0 +1,24 @@
package com.ruoyi.fbs.mapper;
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.fbs.domain.vo.AppTaskVO;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;
/**
* 分包商项目任务Mapper接口
*
* @author ruoyi
* @date 2025-02-17
*/
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface FbsProjectTaskMapper extends BaseMapperPlus<FbsProjectTask> {
Page<AppTaskVO> appQueryPageList(@Param("page") Page<AppTaskDTO> page, @Param("dto") AppTaskDTO dto);
}

View File

@ -0,0 +1,58 @@
package com.ruoyi.fbs.service;
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 java.util.Collection;
import java.util.List;
/**
* 分包商项目任务申请Service接口
*
* @author ruoyi
* @date 2025-02-17
*/
public interface IFbsProjectTaskApplyService extends IServicePlus<FbsProjectTaskApply> {
/**
* 查询单个
* @return
*/
FbsProjectTaskApply queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<FbsProjectTaskApply> queryPageList(FbsProjectTaskApplyQueryBo bo);
/**
* 查询列表
*/
List<FbsProjectTaskApply> queryList(FbsProjectTaskApplyQueryBo bo);
/**
* 根据新增业务对象插入分包商项目任务申请
* @param bo 分包商项目任务申请新增业务对象
* @return
*/
Boolean insert(FbsProjectTaskApply bo);
/**
* 根据编辑业务对象修改分包商项目任务申请
* @param bo 分包商项目任务申请编辑业务对象
* @return
*/
Boolean update(FbsProjectTaskApply bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
Boolean appTaskApply(TaskApplyDTO dto);
}

View File

@ -0,0 +1,67 @@
package com.ruoyi.fbs.service;
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.vo.AppTaskDetailVO;
import com.ruoyi.fbs.domain.vo.AppTaskVO;
import java.util.Collection;
import java.util.List;
/**
* 分包商项目任务Service接口
*
* @author ruoyi
* @date 2025-02-17
*/
public interface IFbsProjectTaskService extends IServicePlus<FbsProjectTask> {
/**
* 查询单个
* @return
*/
FbsProjectTask queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<FbsProjectTask> queryPageList(FbsProjectTaskQueryBo bo);
/**
* 查询列表
*/
List<FbsProjectTask> queryList(FbsProjectTaskQueryBo bo);
/**
* 根据新增业务对象插入分包商项目任务
* @param bo 分包商项目任务新增业务对象
* @return
*/
Boolean insert(FbsProjectTask bo);
/**
* 根据编辑业务对象修改分包商项目任务
* @param bo 分包商项目任务编辑业务对象
* @return
*/
Boolean update(FbsProjectTask bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 包工头查询列表
*/
TableDataInfo<AppTaskVO> appQueryPageList(AppTaskDTO dto);
AppTaskDetailVO appQueryById(Long id);
}

View File

@ -0,0 +1,96 @@
package com.ruoyi.fbs.service.impl;
import cn.hutool.core.bean.BeanUtil;
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.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo;
import com.ruoyi.fbs.domain.FbsProjectTaskApply;
import com.ruoyi.fbs.domain.dto.TaskApplyDTO;
import com.ruoyi.fbs.mapper.FbsProjectTaskApplyMapper;
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 分包商项目任务申请Service业务层处理
*
* @author ruoyi
* @date 2025-02-17
*/
@Service
public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTaskApplyMapper, FbsProjectTaskApply> implements IFbsProjectTaskApplyService {
@Override
public FbsProjectTaskApply queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<FbsProjectTaskApply> queryPageList(FbsProjectTaskApplyQueryBo bo) {
Page<FbsProjectTaskApply> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<FbsProjectTaskApply> queryList(FbsProjectTaskApplyQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<FbsProjectTaskApply> buildQueryWrapper(FbsProjectTaskApplyQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<FbsProjectTaskApply> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getTaskId() != null, FbsProjectTaskApply::getTaskId, bo.getTaskId());
lqw.eq(bo.getUserId() != null, FbsProjectTaskApply::getUserId, bo.getUserId());
return lqw;
}
@Override
public Boolean insert(FbsProjectTaskApply bo) {
FbsProjectTaskApply add = BeanUtil.toBean(bo, FbsProjectTaskApply.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(FbsProjectTaskApply bo) {
FbsProjectTaskApply update = BeanUtil.toBean(bo, FbsProjectTaskApply.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(FbsProjectTaskApply entity){
LambdaQueryWrapper<FbsProjectTaskApply> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FbsProjectTaskApply::getTaskId, entity.getTaskId());
wrapper.eq(FbsProjectTaskApply::getUserId, entity.getUserId());
List<FbsProjectTaskApply> list = baseMapper.selectList(wrapper);
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
@Override
public Boolean appTaskApply(TaskApplyDTO dto) {
FbsProjectTaskApply fbsProjectTaskApply = BeanUtil.copyProperties(dto, FbsProjectTaskApply.class);
validEntityBeforeSave(fbsProjectTaskApply);
return null;
}
}

View File

@ -0,0 +1,123 @@
package com.ruoyi.fbs.service.impl;
import cn.hutool.core.bean.BeanUtil;
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.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo;
import com.ruoyi.fbs.domain.FbsProjectTask;
import com.ruoyi.fbs.domain.dto.AppTaskDTO;
import com.ruoyi.fbs.domain.vo.AppTaskDetailVO;
import com.ruoyi.fbs.domain.vo.AppTaskVO;
import com.ruoyi.fbs.mapper.FbsProjectTaskMapper;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.service.IZbfProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 分包商项目任务Service业务层处理
*
* @author ruoyi
* @date 2025-02-17
*/
@Service
public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMapper, FbsProjectTask> implements IFbsProjectTaskService {
@Autowired
private IZbfProjectService zbfProjectService;
@Override
public FbsProjectTask queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<FbsProjectTask> queryPageList(FbsProjectTaskQueryBo bo) {
Page<FbsProjectTask> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<FbsProjectTask> queryList(FbsProjectTaskQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<FbsProjectTask> buildQueryWrapper(FbsProjectTaskQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<FbsProjectTask> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getProjectId() != null, FbsProjectTask::getProjectId, bo.getProjectId());
lqw.eq(bo.getSectionId() != null, FbsProjectTask::getSectionId, bo.getSectionId());
lqw.eq(bo.getSubId() != null, FbsProjectTask::getSubId, bo.getSubId());
lqw.like(StrUtil.isNotBlank(bo.getTaskName()), FbsProjectTask::getTaskName, bo.getTaskName());
lqw.eq(StrUtil.isNotBlank(bo.getTaskAddress()), FbsProjectTask::getTaskAddress, bo.getTaskAddress());
lqw.eq(bo.getTaskAmount() != null, FbsProjectTask::getTaskAmount, bo.getTaskAmount());
lqw.eq(bo.getTaskStaffNum() != null, FbsProjectTask::getTaskStaffNum, bo.getTaskStaffNum());
lqw.eq(StrUtil.isNotBlank(bo.getTaskBeginTime()), FbsProjectTask::getTaskBeginTime, bo.getTaskBeginTime());
lqw.eq(StrUtil.isNotBlank(bo.getTaskContactPerson()), FbsProjectTask::getTaskContactPerson, bo.getTaskContactPerson());
lqw.eq(StrUtil.isNotBlank(bo.getTaskContactPhone()), FbsProjectTask::getTaskContactPhone, bo.getTaskContactPhone());
lqw.eq(StrUtil.isNotBlank(bo.getTaskDescribe()), FbsProjectTask::getTaskDescribe, bo.getTaskDescribe());
lqw.eq(StrUtil.isNotBlank(bo.getTaskImg()), FbsProjectTask::getTaskImg, bo.getTaskImg());
lqw.eq(StrUtil.isNotBlank(bo.getQualification()), FbsProjectTask::getQualification, bo.getQualification());
lqw.eq(bo.getUserId() != null, FbsProjectTask::getUserId, bo.getUserId());
return lqw;
}
@Override
public Boolean insert(FbsProjectTask bo) {
FbsProjectTask add = BeanUtil.toBean(bo, FbsProjectTask.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(FbsProjectTask bo) {
FbsProjectTask update = BeanUtil.toBean(bo, FbsProjectTask.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(FbsProjectTask entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
@Override
public TableDataInfo<AppTaskVO> appQueryPageList(AppTaskDTO dto) {
Page<AppTaskDTO> appTaskDTOPage = new Page<>();
appTaskDTOPage.setCurrent(dto.getPageNum());
appTaskDTOPage.setSize(dto.getPageSize());
Page<AppTaskVO> appTaskVOPage = baseMapper.appQueryPageList(appTaskDTOPage, dto);
return PageUtils.buildDataInfo(appTaskVOPage);
}
@Override
public AppTaskDetailVO appQueryById(Long id) {
FbsProjectTask byId = getById(id);
AppTaskDetailVO appTaskDetailVO = BeanUtil.copyProperties(byId, AppTaskDetailVO.class);
ZbfProject project = zbfProjectService.getById(byId.getProjectId());
appTaskDetailVO.setProjectName(project.getProjectName());
return appTaskDetailVO;
}
}