任务,招工

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,49 @@
package com.ruoyi.bgt.bo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.LocalDate;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 包工头招工申请分页查询对象 bgt_project_recruit_apply
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("包工头招工申请分页查询对象")
public class BgtProjectRecruitApplyQueryBo 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 recruitId;
/** 务工者用户ID */
@ApiModelProperty("务工者用户ID")
private Long userId;
}

View File

@ -0,0 +1,75 @@
package com.ruoyi.bgt.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 包工头招工分页查询对象 bgt_project_recruit
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("包工头招工分页查询对象")
public class BgtProjectRecruitQueryBo 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;
/** 任务ID */
@ApiModelProperty("任务ID")
private Long taskId;
/** 招工名称 */
@ApiModelProperty("招工名称")
private String recruitName;
/** 招工地址 */
@ApiModelProperty("招工地址")
private String recruitAddress;
/** 招工金额 */
@ApiModelProperty("招工金额")
private Long recruitAmount;
/** 招工数量 */
@ApiModelProperty("招工数量")
private Long recruitStaffNum;
/** 招工开始时间 */
@ApiModelProperty("招工开始时间")
private String recruitBeginTime;
/** 联系人 */
@ApiModelProperty("联系人")
private String recruitContactPerson;
/** 联系电话 */
@ApiModelProperty("联系电话")
private String recruitContactPhone;
/** 招工描述 */
@ApiModelProperty("招工描述")
private String subDescribe;
/** 招工要求 */
@ApiModelProperty("招工要求")
private String recruitRequirement;
}

View File

@ -0,0 +1,72 @@
package com.ruoyi.bgt.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 包工头项目任务进度分页查询对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("包工头项目任务进度分页查询对象")
public class BgtProjectTaskProgressQueryBo 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;
/** 任务ID */
@ApiModelProperty("任务ID")
private Long taskId;
/** 进度名称 */
@ApiModelProperty("进度名称")
private String progressName;
/** 负责人 */
@ApiModelProperty("负责人")
private String director;
/** 上传人 */
@ApiModelProperty("上传人")
private String uploader;
/** 进度 */
@ApiModelProperty("进度")
private Long progress;
/** 进度描述 */
@ApiModelProperty("进度描述")
private String progressDescribe;
/** 进度附件 */
@ApiModelProperty("进度附件")
private String progressAnnex;
/** 审核状态1审核中 2已审核 3未审核 */
@ApiModelProperty("审核状态1审核中 2已审核 3未审核")
private String auditStatus;
/** 审核人Id */
@ApiModelProperty("审核人Id")
private Long reviewerId;
}

View File

@ -0,0 +1,134 @@
package com.ruoyi.bgt.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;
/**
* 包工头招工对象 bgt_project_recruit
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("bgt_project_recruit")
@ApiModel("包工头招工视图对象")
public class BgtProjectRecruit 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 projectId;
/** 标段ID */
@Excel(name = "标段ID")
@ApiModelProperty("标段ID")
private Long sectionId;
/** 分包ID */
@Excel(name = "分包ID")
@ApiModelProperty("分包ID")
private Long subId;
/** 任务ID */
@Excel(name = "任务ID")
@ApiModelProperty("任务ID")
private Long taskId;
/** 招工名称 */
@Excel(name = "招工名称")
@ApiModelProperty("招工名称")
private String recruitName;
/** 招工地址 */
@Excel(name = "招工地址")
@ApiModelProperty("招工地址")
private String recruitAddress;
/** 招工金额 */
@Excel(name = "招工金额")
@ApiModelProperty("招工金额")
private Long recruitAmount;
/** 招工数量 */
@Excel(name = "招工数量")
@ApiModelProperty("招工数量")
private Long recruitStaffNum;
/** 招工开始时间 */
@Excel(name = "招工开始时间")
@ApiModelProperty("招工开始时间")
private String recruitBeginTime;
/** 联系人 */
@Excel(name = "联系人")
@ApiModelProperty("联系人")
private String recruitContactPerson;
/** 联系电话 */
@Excel(name = "联系电话")
@ApiModelProperty("联系电话")
private String recruitContactPhone;
/** 招工描述 */
@Excel(name = "招工描述")
@ApiModelProperty("招工描述")
private String subDescribe;
/** 招工要求 */
@Excel(name = "招工要求")
@ApiModelProperty("招工要求")
private String recruitRequirement;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
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,79 @@
package com.ruoyi.bgt.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;
/**
* 包工头招工申请对象 bgt_project_recruit_apply
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("bgt_project_recruit_apply")
@ApiModel("包工头招工申请视图对象")
public class BgtProjectRecruitApply 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 recruitId;
/** 务工者用户ID */
@Excel(name = "务工者用户ID")
@ApiModelProperty("务工者用户ID")
private Long userId;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
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,128 @@
package com.ruoyi.bgt.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;
/**
* 包工头项目任务进度对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("bgt_project_task_progress")
@ApiModel("包工头项目任务进度视图对象")
public class BgtProjectTaskProgress 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;
/** 任务ID */
@Excel(name = "任务ID")
@ApiModelProperty("任务ID")
private Long taskId;
/** 进度名称 */
@Excel(name = "进度名称")
@ApiModelProperty("进度名称")
private String progressName;
/** 负责人 */
@Excel(name = "负责人")
@ApiModelProperty("负责人")
private String director;
/** 上传人 */
@Excel(name = "上传人")
@ApiModelProperty("上传人")
private String uploader;
/** 进度 */
@Excel(name = "进度")
@ApiModelProperty("进度")
private Long progress;
/** 进度描述 */
@Excel(name = "进度描述")
@ApiModelProperty("进度描述")
private String progressDescribe;
/** 进度附件 */
@Excel(name = "进度附件")
@ApiModelProperty("进度附件")
private String progressAnnex;
/** 审核状态1审核中 2已审核 3未审核 */
@Excel(name = "审核状态" , readConverterExp = "1=审核中,2=已审核,3=未审核")
@ApiModelProperty("审核状态1审核中 2已审核 3未审核")
private String auditStatus;
/** 审核人Id */
@Excel(name = "审核人Id")
@ApiModelProperty("审核人Id")
private Long reviewerId;
/** 删除标志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,12 @@
package com.ruoyi.bgt.domain.dto;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BgtProjectRecruitApplyQueryDTO extends BaseEntity {
@ApiModelProperty("招工ID")
private Long recruitId;
}

View File

@ -0,0 +1,32 @@
package com.ruoyi.bgt.domain.dto;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 包工头项目任务进度分页查询对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("App包工头项目任务进度分页查询对象")
public class BgtProjectTaskProgressQueryDTO extends BaseEntity {
/** 分页大小 */
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
/** 审核状态1审核中 2已审核 3未审核 */
@ApiModelProperty("审核状态1审核中 2已审核 3未审核")
private String auditStatus;
}

View File

@ -1,6 +1,7 @@
package com.ruoyi.bgt.domain.dto;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.domain.dto.AnnexDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -21,7 +22,7 @@ import java.util.List;
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("包工头实名认证对象")
public class UserRealNameAuthenticationDTO {
public class UserRealNameAuthenticationDTO extends BaseEntity {
@ApiModelProperty("主键")
@NotBlank(message = "主键不能为空")

View File

@ -0,0 +1,40 @@
package com.ruoyi.bgt.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;
/**
* 包工头招工申请对象 bgt_project_recruit_apply
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头招工申请视图对象")
public class BgtProjectRecruitApplyVO implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty("务工者用户ID")
private Long userId;
@ApiModelProperty("姓名")
private String username;
@ApiModelProperty("联系电话")
private String phone;
@ApiModelProperty("评分")
private Double score;
@ApiModelProperty("头像")
private String avatarName;
}

View File

@ -0,0 +1,51 @@
package com.ruoyi.bgt.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* 包工头招工对象 bgt_project_recruit
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头招工视图对象")
public class BgtProjectRecruitVO implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("招工名称")
private String recruitName;
@ApiModelProperty("招工地址")
private String recruitAddress;
@ApiModelProperty("招工金额")
private Long recruitAmount;
@ApiModelProperty("招工数量")
private Long recruitStaffNum;
@ApiModelProperty("招工要求")
private String recruitRequirement;
@ApiModelProperty("发布时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,73 @@
package com.ruoyi.bgt.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* 包工头项目任务进度对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头项目任务进度详情对象")
public class BgtProjectTaskProgressDetailVO implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("任务名")
private String taskName;
@ApiModelProperty("任务地址")
private String taskAddress;
@ApiModelProperty("进度名称")
private String progressName;
@ApiModelProperty("负责人")
private String director;
@ApiModelProperty("上传人")
private String uploader;
@ApiModelProperty("进度")
private Long progress;
@ApiModelProperty("用工数量")
private Long taskStaffNum;
@ApiModelProperty("审核状态1审核中 2已审核 3未审核")
private String auditStatus;
@ApiModelProperty("上传时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime createTime;
@ApiModelProperty("进度描述")
private String progressDescribe;
@ApiModelProperty("进度附件")
private String progressAnnex;
@ApiModelProperty("备注")
private String remark;
}

View File

@ -0,0 +1,56 @@
package com.ruoyi.bgt.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
* 包工头项目任务进度对象 bgt_project_task_progress
*
* @author ruoyi
* @date 2025-02-18
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头项目任务进度视图对象")
public class BgtProjectTaskProgressVO implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("任务名")
private String taskName;
@ApiModelProperty("进度名称")
private String progressName;
@ApiModelProperty("上传人")
private String uploader;
@ApiModelProperty("进度")
private Long progress;
@ApiModelProperty("用工数量")
private Long taskStaffNum;
@ApiModelProperty("审核状态1审核中 2已审核 3未审核")
private String auditStatus;
@ApiModelProperty("上传时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime createTime;
}

View File

@ -0,0 +1,24 @@
package com.ruoyi.bgt.mapper;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 包工头招工申请Mapper接口
*
* @author ruoyi
* @date 2025-02-18
*/
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus<BgtProjectRecruitApply> {
List<BgtProjectRecruitApplyVO> appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto);
}

View File

@ -0,0 +1,18 @@
package com.ruoyi.bgt.mapper;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
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 BgtProjectRecruitMapper extends BaseMapperPlus<BgtProjectRecruit> {
}

View File

@ -0,0 +1,23 @@
package com.ruoyi.bgt.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Param;
/**
* 包工头项目任务进度Mapper接口
*
* @author ruoyi
* @date 2025-02-18
*/
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface BgtProjectTaskProgressMapper extends BaseMapperPlus<BgtProjectTaskProgress> {
Page<BgtProjectTaskProgressVO> appQueryPageList(@Param("page") Page<BgtProjectTaskProgressQueryDTO> page, @Param("dto") BgtProjectTaskProgressQueryDTO dto);
}

View File

@ -0,0 +1,63 @@
package com.ruoyi.bgt.service;
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import java.util.Collection;
import java.util.List;
/**
* 包工头招工申请Service接口
*
* @author ruoyi
* @date 2025-02-18
*/
public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectRecruitApply> {
/**
* 查询单个
* @return
*/
BgtProjectRecruitApply queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<BgtProjectRecruitApply> queryPageList(BgtProjectRecruitApplyQueryBo bo);
/**
* 查询列表
*/
List<BgtProjectRecruitApply> queryList(BgtProjectRecruitApplyQueryBo bo);
/**
* 根据新增业务对象插入包工头招工申请
* @param bo 包工头招工申请新增业务对象
* @return
*/
Boolean insert(BgtProjectRecruitApply bo);
/**
* 根据编辑业务对象修改包工头招工申请
* @param bo 包工头招工申请编辑业务对象
* @return
*/
Boolean update(BgtProjectRecruitApply bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 查询列表
*/
List<BgtProjectRecruitApplyVO> appQueryList(BgtProjectRecruitApplyQueryDTO dto);
}

View File

@ -0,0 +1,55 @@
package com.ruoyi.bgt.service;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import java.util.Collection;
import java.util.List;
/**
* 包工头招工Service接口
*
* @author ruoyi
* @date 2025-02-17
*/
public interface IBgtProjectRecruitService extends IServicePlus<BgtProjectRecruit> {
/**
* 查询单个
* @return
*/
BgtProjectRecruit queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<BgtProjectRecruit> queryPageList(BgtProjectRecruitQueryBo bo);
/**
* 查询列表
*/
List<BgtProjectRecruit> queryList(BgtProjectRecruitQueryBo bo);
/**
* 根据新增业务对象插入包工头招工
* @param bo 包工头招工新增业务对象
* @return
*/
Boolean insert(BgtProjectRecruit bo);
/**
* 根据编辑业务对象修改包工头招工
* @param bo 包工头招工编辑业务对象
* @return
*/
Boolean update(BgtProjectRecruit bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,70 @@
package com.ruoyi.bgt.service;
import com.ruoyi.bgt.bo.BgtProjectTaskProgressQueryBo;
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import java.util.Collection;
import java.util.List;
/**
* 包工头项目任务进度Service接口
*
* @author ruoyi
* @date 2025-02-18
*/
public interface IBgtProjectTaskProgressService extends IServicePlus<BgtProjectTaskProgress> {
/**
* 查询单个
* @return
*/
BgtProjectTaskProgress queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<BgtProjectTaskProgress> queryPageList(BgtProjectTaskProgressQueryBo bo);
/**
* 查询列表
*/
List<BgtProjectTaskProgress> queryList(BgtProjectTaskProgressQueryBo bo);
/**
* 根据新增业务对象插入包工头项目任务进度
* @param bo 包工头项目任务进度新增业务对象
* @return
*/
Boolean insert(BgtProjectTaskProgress bo);
/**
* 根据编辑业务对象修改包工头项目任务进度
* @param bo 包工头项目任务进度编辑业务对象
* @return
*/
Boolean update(BgtProjectTaskProgress bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 查询列表
*/
TableDataInfo<BgtProjectTaskProgressVO> appQueryPageList(BgtProjectTaskProgressQueryDTO dto);
/**
* app查询单个
* @return
*/
BgtProjectTaskProgressDetailVO appQueryById(Long id);
}

View File

@ -0,0 +1,91 @@
package com.ruoyi.bgt.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.bgt.bo.BgtProjectRecruitApplyQueryBo;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.bgt.mapper.BgtProjectRecruitApplyMapper;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 包工头招工申请Service业务层处理
*
* @author ruoyi
* @date 2025-02-18
*/
@Service
public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjectRecruitApplyMapper, BgtProjectRecruitApply> implements IBgtProjectRecruitApplyService {
@Override
public BgtProjectRecruitApply queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<BgtProjectRecruitApply> queryPageList(BgtProjectRecruitApplyQueryBo bo) {
Page<BgtProjectRecruitApply> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<BgtProjectRecruitApply> queryList(BgtProjectRecruitApplyQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<BgtProjectRecruitApply> buildQueryWrapper(BgtProjectRecruitApplyQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BgtProjectRecruitApply> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getRecruitId() != null, BgtProjectRecruitApply::getRecruitId, bo.getRecruitId());
lqw.eq(bo.getUserId() != null, BgtProjectRecruitApply::getUserId, bo.getUserId());
return lqw;
}
@Override
public Boolean insert(BgtProjectRecruitApply bo) {
BgtProjectRecruitApply add = BeanUtil.toBean(bo, BgtProjectRecruitApply.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(BgtProjectRecruitApply bo) {
BgtProjectRecruitApply update = BeanUtil.toBean(bo, BgtProjectRecruitApply.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(BgtProjectRecruitApply entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
@Override
public List<BgtProjectRecruitApplyVO> appQueryList(BgtProjectRecruitApplyQueryDTO dto) {
return Collections.emptyList();
}
}

View File

@ -0,0 +1,95 @@
package com.ruoyi.bgt.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.bgt.bo.BgtProjectRecruitQueryBo;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.mapper.BgtProjectRecruitMapper;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
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 BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecruitMapper, BgtProjectRecruit> implements IBgtProjectRecruitService {
@Override
public BgtProjectRecruit queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<BgtProjectRecruit> queryPageList(BgtProjectRecruitQueryBo bo) {
Page<BgtProjectRecruit> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<BgtProjectRecruit> queryList(BgtProjectRecruitQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<BgtProjectRecruit> buildQueryWrapper(BgtProjectRecruitQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BgtProjectRecruit> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getProjectId() != null, BgtProjectRecruit::getProjectId, bo.getProjectId());
lqw.eq(bo.getSectionId() != null, BgtProjectRecruit::getSectionId, bo.getSectionId());
lqw.eq(bo.getSubId() != null, BgtProjectRecruit::getSubId, bo.getSubId());
lqw.eq(bo.getTaskId() != null, BgtProjectRecruit::getTaskId, bo.getTaskId());
lqw.like(StrUtil.isNotBlank(bo.getRecruitName()), BgtProjectRecruit::getRecruitName, bo.getRecruitName());
lqw.eq(StrUtil.isNotBlank(bo.getRecruitAddress()), BgtProjectRecruit::getRecruitAddress, bo.getRecruitAddress());
lqw.eq(bo.getRecruitAmount() != null, BgtProjectRecruit::getRecruitAmount, bo.getRecruitAmount());
lqw.eq(bo.getRecruitStaffNum() != null, BgtProjectRecruit::getRecruitStaffNum, bo.getRecruitStaffNum());
lqw.eq(StrUtil.isNotBlank(bo.getRecruitBeginTime()), BgtProjectRecruit::getRecruitBeginTime, bo.getRecruitBeginTime());
lqw.eq(StrUtil.isNotBlank(bo.getRecruitContactPerson()), BgtProjectRecruit::getRecruitContactPerson, bo.getRecruitContactPerson());
lqw.eq(StrUtil.isNotBlank(bo.getRecruitContactPhone()), BgtProjectRecruit::getRecruitContactPhone, bo.getRecruitContactPhone());
lqw.eq(StrUtil.isNotBlank(bo.getSubDescribe()), BgtProjectRecruit::getSubDescribe, bo.getSubDescribe());
lqw.eq(StrUtil.isNotBlank(bo.getRecruitRequirement()), BgtProjectRecruit::getRecruitRequirement, bo.getRecruitRequirement());
return lqw;
}
@Override
public Boolean insert(BgtProjectRecruit bo) {
BgtProjectRecruit add = BeanUtil.toBean(bo, BgtProjectRecruit.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(BgtProjectRecruit bo) {
BgtProjectRecruit update = BeanUtil.toBean(bo, BgtProjectRecruit.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(BgtProjectRecruit entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
}

View File

@ -0,0 +1,132 @@
package com.ruoyi.bgt.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.bgt.bo.BgtProjectTaskProgressQueryBo;
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO;
import com.ruoyi.bgt.mapper.BgtProjectTaskProgressMapper;
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
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.domain.FbsProjectTask;
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-18
*/
@Service
public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl<BgtProjectTaskProgressMapper, BgtProjectTaskProgress> implements IBgtProjectTaskProgressService {
@Autowired
private IZbfProjectService zbfProjectService;
@Autowired
private IFbsProjectTaskService fbsProjectTaskService;
@Override
public BgtProjectTaskProgress queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<BgtProjectTaskProgress> queryPageList(BgtProjectTaskProgressQueryBo bo) {
Page<BgtProjectTaskProgress> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<BgtProjectTaskProgress> queryList(BgtProjectTaskProgressQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<BgtProjectTaskProgress> buildQueryWrapper(BgtProjectTaskProgressQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BgtProjectTaskProgress> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getProjectId() != null, BgtProjectTaskProgress::getProjectId, bo.getProjectId());
lqw.eq(bo.getSectionId() != null, BgtProjectTaskProgress::getSectionId, bo.getSectionId());
lqw.eq(bo.getSubId() != null, BgtProjectTaskProgress::getSubId, bo.getSubId());
lqw.eq(bo.getTaskId() != null, BgtProjectTaskProgress::getTaskId, bo.getTaskId());
lqw.like(StrUtil.isNotBlank(bo.getProgressName()), BgtProjectTaskProgress::getProgressName, bo.getProgressName());
lqw.eq(StrUtil.isNotBlank(bo.getDirector()), BgtProjectTaskProgress::getDirector, bo.getDirector());
lqw.eq(StrUtil.isNotBlank(bo.getUploader()), BgtProjectTaskProgress::getUploader, bo.getUploader());
lqw.eq(bo.getProgress() != null, BgtProjectTaskProgress::getProgress, bo.getProgress());
lqw.eq(StrUtil.isNotBlank(bo.getProgressDescribe()), BgtProjectTaskProgress::getProgressDescribe, bo.getProgressDescribe());
lqw.eq(StrUtil.isNotBlank(bo.getProgressAnnex()), BgtProjectTaskProgress::getProgressAnnex, bo.getProgressAnnex());
lqw.eq(StrUtil.isNotBlank(bo.getAuditStatus()), BgtProjectTaskProgress::getAuditStatus, bo.getAuditStatus());
lqw.eq(bo.getReviewerId() != null, BgtProjectTaskProgress::getReviewerId, bo.getReviewerId());
return lqw;
}
@Override
public Boolean insert(BgtProjectTaskProgress bo) {
BgtProjectTaskProgress add = BeanUtil.toBean(bo, BgtProjectTaskProgress.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(BgtProjectTaskProgress bo) {
BgtProjectTaskProgress update = BeanUtil.toBean(bo, BgtProjectTaskProgress.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(BgtProjectTaskProgress entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
@Override
public TableDataInfo<BgtProjectTaskProgressVO> appQueryPageList(BgtProjectTaskProgressQueryDTO dto) {
Page<BgtProjectTaskProgressQueryDTO> queryDTOPage = new Page<>();
queryDTOPage.setCurrent(dto.getPageNum());
queryDTOPage.setSize(dto.getPageSize());
Page<BgtProjectTaskProgressVO> queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto);
return PageUtils.buildDataInfo(queryVOPage);
}
@Override
public BgtProjectTaskProgressDetailVO appQueryById(Long id) {
BgtProjectTaskProgress progress = getById(id);
BgtProjectTaskProgressDetailVO bean = BeanUtil.toBean(progress, BgtProjectTaskProgressDetailVO.class);
ZbfProject project = zbfProjectService.getById(progress.getProjectId());
bean.setProjectName(project.getProjectName());
FbsProjectTask task = fbsProjectTaskService.getById(progress.getTaskId());
bean.setTaskName(task.getTaskName());
bean.setTaskAddress(task.getTaskAddress());
bean.setTaskStaffNum(task.getTaskStaffNum());
return bean;
}
}

View File

@ -3,28 +3,28 @@ package com.ruoyi.bgt.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
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.bo.BgtUserQueryBo;
import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO;
import com.ruoyi.bgt.mapper.BgtUserMapper;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.core.domain.entity.BgtUser;
import com.ruoyi.common.domain.dto.AnnexDTO;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.BaseException;
import com.ruoyi.common.service.IAnnexService;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wgz.common.SnowflakeIdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.bgt.bo.BgtUserQueryBo;
import com.ruoyi.bgt.mapper.BgtUserMapper;
import com.ruoyi.bgt.service.IBgtUserService;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* APP包工头Service业务层处理
@ -81,6 +81,7 @@ public class BgtUserServiceImpl extends ServicePlusImpl<BgtUserMapper, BgtUser>
public Boolean insert(BgtUser bo) {
BgtUser add = BeanUtil.toBean(bo, BgtUser.class);
validEntityBeforeSave(add);
add.setUserId(SnowflakeIdUtil.generateId());
return save(add);
}

View File

@ -1,20 +1,15 @@
package com.ruoyi.common.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.LocalDate;
/**
* 附件对象 common_annex
@ -33,8 +28,8 @@ public class Annex implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
private String id;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 唯一标识 */
@Excel(name = "唯一标识")

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

View File

@ -0,0 +1,60 @@
package com.ruoyi.zbf.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 总包方项目分页查询对象 zbf_project
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("总包方项目分页查询对象")
public class ZbfProjectQueryBo extends BaseEntity {
/** 分页大小 */
@ApiModelProperty("分页大小")
private Integer pageSize;
/** 当前页数 */
@ApiModelProperty("当前页数")
private Integer pageNum;
/** 排序列 */
@ApiModelProperty("排序列")
private String orderByColumn;
/** 排序的方向desc或者asc */
@ApiModelProperty(value = "排序的方向", example = "asc,desc")
private String isAsc;
/** 唯一标识 */
@ApiModelProperty("唯一标识")
private Long userId;
/** 单位名称 */
@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;
}

View File

@ -0,0 +1,52 @@
package com.ruoyi.zbf.bo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.LocalDate;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 总包方项目标段分页查询对象 zbf_project_section
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("总包方项目标段分页查询对象")
public class ZbfProjectSectionQueryBo 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;
/** 标段名称 */
@ApiModelProperty("标段名称")
private String sectionName;
/** 标段描述 */
@ApiModelProperty("标段描述")
private String sectionDescribe;
}

View File

@ -0,0 +1,57 @@
package com.ruoyi.zbf.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 总包方项目分包分页查询对象 zbf_project_subcontracting
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("总包方项目分包分页查询对象")
public class ZbfProjectSubcontractingQueryBo 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;
/** 分包主题 */
@ApiModelProperty("分包主题")
private String subName;
/** 分包描述 */
@ApiModelProperty("分包描述")
private String subDescribe;
/** 分包金额 */
@ApiModelProperty("分包金额")
private Long subAmount;
/** 资质要求 */
@ApiModelProperty("资质要求")
private String qualification;
/** 分包商用户ID */
@ApiModelProperty("分包商用户ID")
private Long userId;
}

View File

@ -0,0 +1,109 @@
package com.ruoyi.zbf.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;
/**
* 总包方项目对象 zbf_project
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("zbf_project")
@ApiModel("总包方项目视图对象")
public class ZbfProject implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
private Long id;
/** 唯一标识 */
@Excel(name = "唯一标识")
@ApiModelProperty("唯一标识")
private Long userId;
/** 单位名称 */
@Excel(name = "单位名称")
@ApiModelProperty("单位名称")
private String unitName;
/** 统一社会信用代码 */
@Excel(name = "统一社会信用代码")
@ApiModelProperty("统一社会信用代码")
private String creditCode;
/** 项目名称 */
@Excel(name = "项目名称")
@ApiModelProperty("项目名称")
private String projectName;
/** 项目图片 */
@Excel(name = "项目图片")
@ApiModelProperty("项目图片")
private String projectImg;
/** 项目地址 */
@Excel(name = "项目地址")
@ApiModelProperty("项目地址")
private String projectAddress;
/** 联系人 */
@Excel(name = "联系人")
@ApiModelProperty("联系人")
private String contactPerson;
/** 联系电话 */
@Excel(name = "联系电话")
@ApiModelProperty("联系电话")
private String contactPhone;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
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,84 @@
package com.ruoyi.zbf.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;
/**
* 总包方项目标段对象 zbf_project_section
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("zbf_project_section")
@ApiModel("总包方项目标段视图对象")
public class ZbfProjectSection 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 projectId;
/** 标段名称 */
@Excel(name = "标段名称")
@ApiModelProperty("标段名称")
private String sectionName;
/** 标段描述 */
@Excel(name = "标段描述")
@ApiModelProperty("标段描述")
private String sectionDescribe;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
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,104 @@
package com.ruoyi.zbf.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;
/**
* 总包方项目分包对象 zbf_project_subcontracting
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("zbf_project_subcontracting")
@ApiModel("总包方项目分包视图对象")
public class ZbfProjectSubcontracting 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 projectId;
/** 标段ID */
@Excel(name = "标段ID")
@ApiModelProperty("标段ID")
private Long sectionId;
/** 分包主题 */
@Excel(name = "分包主题")
@ApiModelProperty("分包主题")
private String subName;
/** 分包描述 */
@Excel(name = "分包描述")
@ApiModelProperty("分包描述")
private String subDescribe;
/** 分包金额 */
@Excel(name = "分包金额")
@ApiModelProperty("分包金额")
private Long subAmount;
/** 资质要求 */
@Excel(name = "资质要求")
@ApiModelProperty("资质要求")
private String qualification;
/** 分包商用户ID */
@Excel(name = "分包商用户ID")
@ApiModelProperty("分包商用户ID")
private Long userId;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
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,19 @@
package com.ruoyi.zbf.mapper;
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import com.ruoyi.zbf.domain.ZbfProject;
import org.apache.ibatis.annotations.CacheNamespace;
/**
* 总包方项目Mapper接口
*
* @author ruoyi
* @date 2025-02-17
*/
// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
public interface ZbfProjectMapper extends BaseMapperPlus<ZbfProject> {
}

View File

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

View File

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

View File

@ -0,0 +1,56 @@
package com.ruoyi.zbf.service;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSection;
import java.util.Collection;
import java.util.List;
/**
* 总包方项目标段Service接口
*
* @author ruoyi
* @date 2025-02-17
*/
public interface IZbfProjectSectionService extends IServicePlus<ZbfProjectSection> {
/**
* 查询单个
* @return
*/
ZbfProjectSection queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<ZbfProjectSection> queryPageList(ZbfProjectSectionQueryBo bo);
/**
* 查询列表
*/
List<ZbfProjectSection> queryList(ZbfProjectSectionQueryBo bo);
/**
* 根据新增业务对象插入总包方项目标段
* @param bo 总包方项目标段新增业务对象
* @return
*/
Boolean insert(ZbfProjectSection bo);
/**
* 根据编辑业务对象修改总包方项目标段
* @param bo 总包方项目标段编辑业务对象
* @return
*/
Boolean update(ZbfProjectSection bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,56 @@
package com.ruoyi.zbf.service;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
import com.ruoyi.zbf.domain.ZbfProject;
import java.util.Collection;
import java.util.List;
/**
* 总包方项目Service接口
*
* @author ruoyi
* @date 2025-02-17
*/
public interface IZbfProjectService extends IServicePlus<ZbfProject> {
/**
* 查询单个
* @return
*/
ZbfProject queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<ZbfProject> queryPageList(ZbfProjectQueryBo bo);
/**
* 查询列表
*/
List<ZbfProject> queryList(ZbfProjectQueryBo bo);
/**
* 根据新增业务对象插入总包方项目
* @param bo 总包方项目新增业务对象
* @return
*/
Boolean insert(ZbfProject bo);
/**
* 根据编辑业务对象修改总包方项目
* @param bo 总包方项目编辑业务对象
* @return
*/
Boolean update(ZbfProject bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,56 @@
package com.ruoyi.zbf.service;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.zbf.bo.ZbfProjectSubcontractingQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
import java.util.Collection;
import java.util.List;
/**
* 总包方项目分包Service接口
*
* @author ruoyi
* @date 2025-02-17
*/
public interface IZbfProjectSubcontractingService extends IServicePlus<ZbfProjectSubcontracting> {
/**
* 查询单个
* @return
*/
ZbfProjectSubcontracting queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<ZbfProjectSubcontracting> queryPageList(ZbfProjectSubcontractingQueryBo bo);
/**
* 查询列表
*/
List<ZbfProjectSubcontracting> queryList(ZbfProjectSubcontractingQueryBo bo);
/**
* 根据新增业务对象插入总包方项目分包
* @param bo 总包方项目分包新增业务对象
* @return
*/
Boolean insert(ZbfProjectSubcontracting bo);
/**
* 根据编辑业务对象修改总包方项目分包
* @param bo 总包方项目分包编辑业务对象
* @return
*/
Boolean update(ZbfProjectSubcontracting bo);
/**
* 校验并删除数据
* @param ids 主键集合
* @param isValid 是否校验,true-删除前校验,false-不校验
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -0,0 +1,85 @@
package com.ruoyi.zbf.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.zbf.bo.ZbfProjectSectionQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSection;
import com.ruoyi.zbf.mapper.ZbfProjectSectionMapper;
import com.ruoyi.zbf.service.IZbfProjectSectionService;
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 ZbfProjectSectionServiceImpl extends ServicePlusImpl<ZbfProjectSectionMapper, ZbfProjectSection> implements IZbfProjectSectionService {
@Override
public ZbfProjectSection queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<ZbfProjectSection> queryPageList(ZbfProjectSectionQueryBo bo) {
Page<ZbfProjectSection> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<ZbfProjectSection> queryList(ZbfProjectSectionQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<ZbfProjectSection> buildQueryWrapper(ZbfProjectSectionQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ZbfProjectSection> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getProjectId() != null, ZbfProjectSection::getProjectId, bo.getProjectId());
lqw.like(StrUtil.isNotBlank(bo.getSectionName()), ZbfProjectSection::getSectionName, bo.getSectionName());
lqw.eq(StrUtil.isNotBlank(bo.getSectionDescribe()), ZbfProjectSection::getSectionDescribe, bo.getSectionDescribe());
return lqw;
}
@Override
public Boolean insert(ZbfProjectSection bo) {
ZbfProjectSection add = BeanUtil.toBean(bo, ZbfProjectSection.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(ZbfProjectSection bo) {
ZbfProjectSection update = BeanUtil.toBean(bo, ZbfProjectSection.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(ZbfProjectSection entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
}

View File

@ -0,0 +1,90 @@
package com.ruoyi.zbf.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.zbf.bo.ZbfProjectQueryBo;
import com.ruoyi.zbf.domain.ZbfProject;
import com.ruoyi.zbf.mapper.ZbfProjectMapper;
import com.ruoyi.zbf.service.IZbfProjectService;
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 ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, ZbfProject> implements IZbfProjectService {
@Override
public ZbfProject queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<ZbfProject> queryPageList(ZbfProjectQueryBo bo) {
Page<ZbfProject> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<ZbfProject> queryList(ZbfProjectQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<ZbfProject> buildQueryWrapper(ZbfProjectQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ZbfProject> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getUserId() != null, ZbfProject::getUserId, bo.getUserId());
lqw.like(StrUtil.isNotBlank(bo.getUnitName()), ZbfProject::getUnitName, bo.getUnitName());
lqw.eq(StrUtil.isNotBlank(bo.getCreditCode()), ZbfProject::getCreditCode, bo.getCreditCode());
lqw.like(StrUtil.isNotBlank(bo.getProjectName()), ZbfProject::getProjectName, bo.getProjectName());
lqw.eq(StrUtil.isNotBlank(bo.getProjectImg()), ZbfProject::getProjectImg, bo.getProjectImg());
lqw.eq(StrUtil.isNotBlank(bo.getProjectAddress()), ZbfProject::getProjectAddress, bo.getProjectAddress());
lqw.eq(StrUtil.isNotBlank(bo.getContactPerson()), ZbfProject::getContactPerson, bo.getContactPerson());
lqw.eq(StrUtil.isNotBlank(bo.getContactPhone()), ZbfProject::getContactPhone, bo.getContactPhone());
return lqw;
}
@Override
public Boolean insert(ZbfProject bo) {
ZbfProject add = BeanUtil.toBean(bo, ZbfProject.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(ZbfProject bo) {
ZbfProject update = BeanUtil.toBean(bo, ZbfProject.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(ZbfProject entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
}

View File

@ -0,0 +1,89 @@
package com.ruoyi.zbf.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.zbf.bo.ZbfProjectSubcontractingQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
import com.ruoyi.zbf.mapper.ZbfProjectSubcontractingMapper;
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
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 ZbfProjectSubcontractingServiceImpl extends ServicePlusImpl<ZbfProjectSubcontractingMapper, ZbfProjectSubcontracting> implements IZbfProjectSubcontractingService {
@Override
public ZbfProjectSubcontracting queryById(Long id){
return getById(id);
}
@Override
public TableDataInfo<ZbfProjectSubcontracting> queryPageList(ZbfProjectSubcontractingQueryBo bo) {
Page<ZbfProjectSubcontracting> result = page(PageUtils.buildPage(), buildQueryWrapper(bo));
return PageUtils.buildDataInfo(result);
}
@Override
public List<ZbfProjectSubcontracting> queryList(ZbfProjectSubcontractingQueryBo bo) {
return list(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<ZbfProjectSubcontracting> buildQueryWrapper(ZbfProjectSubcontractingQueryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ZbfProjectSubcontracting> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getProjectId() != null, ZbfProjectSubcontracting::getProjectId, bo.getProjectId());
lqw.eq(bo.getSectionId() != null, ZbfProjectSubcontracting::getSectionId, bo.getSectionId());
lqw.like(StrUtil.isNotBlank(bo.getSubName()), ZbfProjectSubcontracting::getSubName, bo.getSubName());
lqw.eq(StrUtil.isNotBlank(bo.getSubDescribe()), ZbfProjectSubcontracting::getSubDescribe, bo.getSubDescribe());
lqw.eq(bo.getSubAmount() != null, ZbfProjectSubcontracting::getSubAmount, bo.getSubAmount());
lqw.eq(StrUtil.isNotBlank(bo.getQualification()), ZbfProjectSubcontracting::getQualification, bo.getQualification());
lqw.eq(bo.getUserId() != null, ZbfProjectSubcontracting::getUserId, bo.getUserId());
return lqw;
}
@Override
public Boolean insert(ZbfProjectSubcontracting bo) {
ZbfProjectSubcontracting add = BeanUtil.toBean(bo, ZbfProjectSubcontracting.class);
validEntityBeforeSave(add);
return save(add);
}
@Override
public Boolean update(ZbfProjectSubcontracting bo) {
ZbfProjectSubcontracting update = BeanUtil.toBean(bo, ZbfProjectSubcontracting.class);
validEntityBeforeSave(update);
return updateById(update);
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(ZbfProjectSubcontracting entity){
//TODO 做一些数据校验,如唯一约束
}
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return removeByIds(ids);
}
}