任务
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
package com.ruoyi.web.controller.bgt;
|
package com.ruoyi.web.controller.bgt;
|
||||||
|
|
||||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||||
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyConsentDTO;
|
||||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||||
@ -9,6 +10,9 @@ import com.ruoyi.common.annotation.RepeatSubmit;
|
|||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.wgz.bo.req.WgzAppPersonalBasicInformationReq;
|
||||||
|
import com.ruoyi.wgz.bo.res.WgzAppPersonalBasicInformationRes;
|
||||||
|
import com.ruoyi.wgz.service.IWgzUserService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -32,7 +36,7 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
|
|||||||
|
|
||||||
private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
|
private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService;
|
||||||
|
|
||||||
|
private final IWgzUserService wgzUserService;
|
||||||
|
|
||||||
@ApiOperation("App务工者列表")
|
@ApiOperation("App务工者列表")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
@ -40,10 +44,12 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
|
|||||||
return iBgtProjectRecruitApplyService.appQueryList(dto);
|
return iBgtProjectRecruitApplyService.appQueryList(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("App务工者个人详情")
|
||||||
|
@GetMapping()
|
||||||
|
public AjaxResult<WgzAppPersonalBasicInformationRes> userPersonalBasicInformation(@Validated WgzAppPersonalBasicInformationReq req) {
|
||||||
|
return AjaxResult.success(wgzUserService.userPersonalBasicInformation(req));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增包工头招工申请
|
|
||||||
*/
|
|
||||||
@ApiOperation("App务工者招工报名")
|
@ApiOperation("App务工者招工报名")
|
||||||
@Log(title = "App务工者招工报名", businessType = BusinessType.INSERT)
|
@Log(title = "App务工者招工报名", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit
|
@RepeatSubmit
|
||||||
@ -52,6 +58,14 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
|
|||||||
return toAjax(iBgtProjectRecruitApplyService.insert(bo) ? 1 : 0);
|
return toAjax(iBgtProjectRecruitApplyService.insert(bo) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("App同意申请")
|
||||||
|
@Log(title = "App同意申请", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit
|
||||||
|
@PutMapping()
|
||||||
|
public AjaxResult<Void> consent(@Validated @RequestBody BgtProjectRecruitApplyConsentDTO dto) {
|
||||||
|
return toAjax(iBgtProjectRecruitApplyService.consent(dto));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,17 +5,14 @@ import com.ruoyi.common.annotation.RepeatSubmit;
|
|||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.fbs.domain.FbsProjectTaskApply;
|
import com.ruoyi.fbs.domain.dto.TaskApplyDTO;
|
||||||
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
|
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分包商项目任务申请Controller
|
* 分包商项目任务申请Controller
|
||||||
@ -35,12 +32,20 @@ public class AppFbsProjectTaskApplyController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 新增分包商项目任务申请
|
* 新增分包商项目任务申请
|
||||||
*/
|
*/
|
||||||
@ApiOperation("App申请承接")
|
@ApiOperation("App申请承接项目任务")
|
||||||
@Log(title = "App项目任务申请承接", businessType = BusinessType.INSERT)
|
@Log(title = "App申请承接项目任务", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit
|
@RepeatSubmit
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public AjaxResult<Void> add(@Validated @RequestBody FbsProjectTaskApply bo) {
|
public AjaxResult<Void> appTaskApply(@Validated @RequestBody TaskApplyDTO dto) {
|
||||||
return toAjax(iFbsProjectTaskApplyService.insert(bo) ? 1 : 0);
|
return toAjax(iFbsProjectTaskApplyService.appTaskApply(dto) ? 1 : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("App取消申请项目任务")
|
||||||
|
@Log(title = "App取消申请项目任务" , businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping()
|
||||||
|
public AjaxResult<Void> cancelApply(TaskApplyDTO dto) {
|
||||||
|
return toAjax(iFbsProjectTaskApplyService.cancelApply(dto) ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -140,10 +140,10 @@ public class Constants
|
|||||||
/**
|
/**
|
||||||
* 包工头用户标志 前缀
|
* 包工头用户标志 前缀
|
||||||
*/
|
*/
|
||||||
public static final String BGT = "bgt_";
|
public static final String BGT = "bgt";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 务工者用户标志 前缀
|
* 务工者用户标志 前缀
|
||||||
*/
|
*/
|
||||||
public static final String WGZ = "wgz_";
|
public static final String WGZ = "wgz";
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
package com.ruoyi.common.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户状态
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
*/
|
||||||
|
public enum ProjectTaskStatus
|
||||||
|
{
|
||||||
|
APPLY("0", "申请中"),
|
||||||
|
PROGRESS("1", "进行中"),
|
||||||
|
COMPLETE("2", "已完成"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private final String code;
|
||||||
|
private final String info;
|
||||||
|
|
||||||
|
ProjectTaskStatus(String code, String info)
|
||||||
|
{
|
||||||
|
this.code = code;
|
||||||
|
this.info = info;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode()
|
||||||
|
{
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo()
|
||||||
|
{
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
}
|
@ -26,110 +26,156 @@ public class BgtProjectRecruit implements Serializable {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键ID */
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
@ApiModelProperty("主键ID")
|
@ApiModelProperty("主键ID")
|
||||||
@TableId(value = "id", type = IdType.AUTO)
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 项目ID */
|
/**
|
||||||
|
* 项目ID
|
||||||
|
*/
|
||||||
@Excel(name = "项目ID")
|
@Excel(name = "项目ID")
|
||||||
@ApiModelProperty("项目ID")
|
@ApiModelProperty("项目ID")
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
/** 标段ID */
|
/**
|
||||||
|
* 标段ID
|
||||||
|
*/
|
||||||
@Excel(name = "标段ID")
|
@Excel(name = "标段ID")
|
||||||
@ApiModelProperty("标段ID")
|
@ApiModelProperty("标段ID")
|
||||||
private Long sectionId;
|
private Long sectionId;
|
||||||
|
|
||||||
/** 分包ID */
|
/**
|
||||||
|
* 分包ID
|
||||||
|
*/
|
||||||
@Excel(name = "分包ID")
|
@Excel(name = "分包ID")
|
||||||
@ApiModelProperty("分包ID")
|
@ApiModelProperty("分包ID")
|
||||||
private Long subId;
|
private Long subId;
|
||||||
|
|
||||||
/** 任务ID */
|
/**
|
||||||
|
* 任务ID
|
||||||
|
*/
|
||||||
@Excel(name = "任务ID")
|
@Excel(name = "任务ID")
|
||||||
@ApiModelProperty("任务ID")
|
@ApiModelProperty("任务ID")
|
||||||
private Long taskId;
|
private Long taskId;
|
||||||
|
|
||||||
/** 招工名称 */
|
/**
|
||||||
|
* 招工名称
|
||||||
|
*/
|
||||||
@Excel(name = "招工名称")
|
@Excel(name = "招工名称")
|
||||||
@ApiModelProperty("招工名称")
|
@ApiModelProperty("招工名称")
|
||||||
private String recruitName;
|
private String recruitName;
|
||||||
|
|
||||||
/** 招工地址 */
|
/**
|
||||||
|
* 招工地址
|
||||||
|
*/
|
||||||
@Excel(name = "招工地址")
|
@Excel(name = "招工地址")
|
||||||
@ApiModelProperty("招工地址")
|
@ApiModelProperty("招工地址")
|
||||||
private String recruitAddress;
|
private String recruitAddress;
|
||||||
|
|
||||||
/** 招工金额 */
|
/**
|
||||||
|
* 招工金额
|
||||||
|
*/
|
||||||
@Excel(name = "招工金额")
|
@Excel(name = "招工金额")
|
||||||
@ApiModelProperty("招工金额")
|
@ApiModelProperty("招工金额")
|
||||||
private Long recruitAmount;
|
private Long recruitAmount;
|
||||||
|
|
||||||
/** 招工数量 */
|
/**
|
||||||
|
* 招工数量
|
||||||
|
*/
|
||||||
@Excel(name = "招工数量")
|
@Excel(name = "招工数量")
|
||||||
@ApiModelProperty("招工数量")
|
@ApiModelProperty("招工数量")
|
||||||
private Long recruitStaffNum;
|
private Long recruitStaffNum;
|
||||||
|
|
||||||
/** 招工开始时间 */
|
/**
|
||||||
|
* 招工开始时间
|
||||||
|
*/
|
||||||
@Excel(name = "招工开始时间")
|
@Excel(name = "招工开始时间")
|
||||||
@ApiModelProperty("招工开始时间")
|
@ApiModelProperty("招工开始时间")
|
||||||
private String recruitBeginTime;
|
private String recruitBeginTime;
|
||||||
|
|
||||||
/** 联系人 */
|
/**
|
||||||
|
* 联系人
|
||||||
|
*/
|
||||||
@Excel(name = "联系人")
|
@Excel(name = "联系人")
|
||||||
@ApiModelProperty("联系人")
|
@ApiModelProperty("联系人")
|
||||||
private String recruitContactPerson;
|
private String recruitContactPerson;
|
||||||
|
|
||||||
/** 联系电话 */
|
/**
|
||||||
|
* 联系电话
|
||||||
|
*/
|
||||||
@Excel(name = "联系电话")
|
@Excel(name = "联系电话")
|
||||||
@ApiModelProperty("联系电话")
|
@ApiModelProperty("联系电话")
|
||||||
private String recruitContactPhone;
|
private String recruitContactPhone;
|
||||||
|
|
||||||
/** 招工描述 */
|
/**
|
||||||
|
* 招工描述
|
||||||
|
*/
|
||||||
@Excel(name = "招工描述")
|
@Excel(name = "招工描述")
|
||||||
@ApiModelProperty("招工描述")
|
@ApiModelProperty("招工描述")
|
||||||
private String subDescribe;
|
private String subDescribe;
|
||||||
|
|
||||||
/** 招工要求 */
|
/**
|
||||||
|
* 招工要求
|
||||||
|
*/
|
||||||
@Excel(name = "招工要求")
|
@Excel(name = "招工要求")
|
||||||
@ApiModelProperty("招工要求")
|
@ApiModelProperty("招工要求")
|
||||||
private String recruitRequirement;
|
private String recruitRequirement;
|
||||||
|
|
||||||
|
@ApiModelProperty("上班时间")
|
||||||
|
private String beginWorkTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("下班时间")
|
||||||
|
private String endWorkTime;
|
||||||
|
|
||||||
@ApiModelProperty("创建者ID")
|
@ApiModelProperty("创建者ID")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/** 删除标志(0代表存在 2代表删除) */
|
/**
|
||||||
|
* 删除标志(0代表存在 2代表删除)
|
||||||
|
*/
|
||||||
@Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
|
@Excel(name = "删除标志", readConverterExp = "0=代表存在,2=代表删除")
|
||||||
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
||||||
// @TableLogic
|
// @TableLogic
|
||||||
private String delFlag;
|
private String delFlag;
|
||||||
|
|
||||||
/** 创建者 */
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
@Excel(name = "创建者")
|
@Excel(name = "创建者")
|
||||||
@ApiModelProperty("创建者")
|
@ApiModelProperty("创建者")
|
||||||
@TableField(fill = FieldFill.INSERT)
|
@TableField(fill = FieldFill.INSERT)
|
||||||
private String createBy;
|
private String createBy;
|
||||||
|
|
||||||
/** 创建时间 */
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty("创建时间")
|
@ApiModelProperty("创建时间")
|
||||||
@TableField(fill = FieldFill.INSERT)
|
@TableField(fill = FieldFill.INSERT)
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
/** 更新者 */
|
/**
|
||||||
|
* 更新者
|
||||||
|
*/
|
||||||
@Excel(name = "更新者")
|
@Excel(name = "更新者")
|
||||||
@ApiModelProperty("更新者")
|
@ApiModelProperty("更新者")
|
||||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||||
private String updateBy;
|
private String updateBy;
|
||||||
|
|
||||||
/** 更新时间 */
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty("更新时间")
|
@ApiModelProperty("更新时间")
|
||||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
/** 备注 */
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
@Excel(name = "备注")
|
@Excel(name = "备注")
|
||||||
@ApiModelProperty("备注")
|
@ApiModelProperty("备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
package com.ruoyi.bgt.domain.dto;
|
||||||
|
|
||||||
|
import com.ruoyi.common.domain.dto.AnnexDTO;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包工头招工申请对象 bgt_project_recruit_apply
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-18
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel("包工头同意申请对象")
|
||||||
|
public class BgtProjectRecruitApplyConsentDTO implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/** 主键ID */
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("进场时间")
|
||||||
|
private String entryTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("入场材料")
|
||||||
|
List<AnnexDTO> entryMaterials;
|
||||||
|
|
||||||
|
@ApiModelProperty("保险")
|
||||||
|
List<AnnexDTO> insurances;
|
||||||
|
|
||||||
|
}
|
@ -6,16 +6,17 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ApiModel("包工头招工申请列表查询对象")
|
@ApiModel("包工头招工申请列表查询对象")
|
||||||
public class BgtProjectRecruitApplyQueryDTO extends BaseEntity {
|
public class BgtProjectRecruitApplyQueryDTO extends BaseEntity {
|
||||||
|
|
||||||
@ApiModelProperty("招工ID")
|
@ApiModelProperty("招工ID列表")
|
||||||
@NotNull(message = "招工ID不能为空")
|
@NotEmpty(message = "招工ID列表不能为空")
|
||||||
private Long recruitId;
|
private List<Long> recruitIds;
|
||||||
|
|
||||||
@ApiModelProperty("选择状态(0未选择 1已选择)")
|
@ApiModelProperty("选择状态(0未选择 1已选择)")
|
||||||
private String status;
|
private String status;
|
||||||
|
@ -22,6 +22,9 @@ public class BgtProjectRecruitApplyVO implements Serializable {
|
|||||||
|
|
||||||
private static final long serialVersionUID=1L;
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
@ApiModelProperty("务工者用户ID")
|
@ApiModelProperty("务工者用户ID")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.ruoyi.bgt.service;
|
|||||||
|
|
||||||
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
|
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
|
||||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||||
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyConsentDTO;
|
||||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||||
@ -72,4 +73,9 @@ public interface IBgtProjectRecruitApplyService extends IServicePlus<BgtProjectR
|
|||||||
*/
|
*/
|
||||||
BgtProjectRecruitApply selectByUserIdProjectRecruitApplyId(Long id);
|
BgtProjectRecruitApply selectByUserIdProjectRecruitApplyId(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同意申请
|
||||||
|
*/
|
||||||
|
Boolean consent(BgtProjectRecruitApplyConsentDTO dto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,26 @@
|
|||||||
package com.ruoyi.bgt.service.impl;
|
package com.ruoyi.bgt.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
|
import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo;
|
||||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||||
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyConsentDTO;
|
||||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||||
import com.ruoyi.bgt.mapper.BgtProjectRecruitApplyMapper;
|
import com.ruoyi.bgt.mapper.BgtProjectRecruitApplyMapper;
|
||||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.enums.RecruitApplyStatus;
|
||||||
|
import com.ruoyi.common.exception.BaseException;
|
||||||
|
import com.ruoyi.common.service.IAnnexService;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -28,6 +35,10 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjectRecruitApplyMapper, BgtProjectRecruitApply> implements IBgtProjectRecruitApplyService {
|
public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjectRecruitApplyMapper, BgtProjectRecruitApply> implements IBgtProjectRecruitApplyService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IAnnexService annexService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BgtProjectRecruitApply queryById(Long id){
|
public BgtProjectRecruitApply queryById(Long id){
|
||||||
return getById(id);
|
return getById(id);
|
||||||
@ -88,6 +99,27 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
|||||||
return baseMapper.appQueryList(dto);
|
return baseMapper.appQueryList(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean consent(BgtProjectRecruitApplyConsentDTO dto) {
|
||||||
|
|
||||||
|
BgtProjectRecruitApply recruitApply = getById(dto.getId());
|
||||||
|
List<BgtProjectRecruitApply> list = baseMapper.selectList(Wrappers.<BgtProjectRecruitApply>lambdaQuery()
|
||||||
|
.eq(BgtProjectRecruitApply::getUserId, recruitApply.getUserId())
|
||||||
|
.eq(BgtProjectRecruitApply::getStatus,RecruitApplyStatus.PASS.getCode())
|
||||||
|
.isNotNull(BgtProjectRecruitApply::getLeaveTime));
|
||||||
|
|
||||||
|
if(CollectionUtil.isNotEmpty(list)){
|
||||||
|
throw new BaseException("该务工者已进入其他工地");
|
||||||
|
}
|
||||||
|
recruitApply.setEntryTime(dto.getEntryTime());
|
||||||
|
recruitApply.setStatus(RecruitApplyStatus.PASS.getCode());
|
||||||
|
dto.getEntryMaterials().addAll(dto.getInsurances());
|
||||||
|
annexService.insertBatch(dto.getEntryMaterials());
|
||||||
|
return updateById(recruitApply);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LC-APP相关
|
* LC-APP相关
|
||||||
|
@ -23,9 +23,7 @@ import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 包工头招工Service业务层处理
|
* 包工头招工Service业务层处理
|
||||||
@ -39,7 +37,6 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IFbsProjectTaskService fbsProjectTaskService;
|
private IFbsProjectTaskService fbsProjectTaskService;
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBgtProjectRecruitApplyService bgtProjectRecruitApplyService;
|
private IBgtProjectRecruitApplyService bgtProjectRecruitApplyService;
|
||||||
|
|
||||||
@ -118,7 +115,7 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
|
|||||||
Page<BgtProjectRecruitVO> queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto);
|
Page<BgtProjectRecruitVO> queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto);
|
||||||
for(BgtProjectRecruitVO vo : queryVOPage.getRecords()) {
|
for(BgtProjectRecruitVO vo : queryVOPage.getRecords()) {
|
||||||
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
|
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
|
||||||
bgtProjectRecruitApplyQueryDTO.setRecruitId(vo.getId());
|
bgtProjectRecruitApplyQueryDTO.setRecruitIds(Collections.singletonList(vo.getId()));
|
||||||
bgtProjectRecruitApplyQueryDTO.setStatus(dto.getStatus());
|
bgtProjectRecruitApplyQueryDTO.setStatus(dto.getStatus());
|
||||||
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
||||||
}
|
}
|
||||||
@ -132,11 +129,10 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
|
|||||||
FbsProjectTask task = fbsProjectTaskService.getById(vo.getTaskId());
|
FbsProjectTask task = fbsProjectTaskService.getById(vo.getTaskId());
|
||||||
vo.setTaskName(task.getTaskName());
|
vo.setTaskName(task.getTaskName());
|
||||||
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
|
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
|
||||||
bgtProjectRecruitApplyQueryDTO.setRecruitId(vo.getId());
|
bgtProjectRecruitApplyQueryDTO.setRecruitIds(Collections.singletonList(vo.getId()));
|
||||||
bgtProjectRecruitApplyQueryDTO.setStatus(RecruitApplyStatus.TO_PASS.getCode());
|
bgtProjectRecruitApplyQueryDTO.setStatus(RecruitApplyStatus.TO_PASS.getCode());
|
||||||
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
||||||
|
return vo;
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,28 +1,27 @@
|
|||||||
package com.ruoyi.common.service.impl;
|
package com.ruoyi.common.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.ruoyi.common.domain.dto.AnnexDTO;
|
|
||||||
import com.ruoyi.common.tool.FileDeletionService;
|
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
|
||||||
import com.ruoyi.common.core.page.PagePlus;
|
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
|
||||||
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.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.common.bo.AnnexQueryBo;
|
import com.ruoyi.common.bo.AnnexQueryBo;
|
||||||
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.domain.Annex;
|
import com.ruoyi.common.domain.Annex;
|
||||||
|
import com.ruoyi.common.domain.dto.AnnexDTO;
|
||||||
import com.ruoyi.common.mapper.AnnexMapper;
|
import com.ruoyi.common.mapper.AnnexMapper;
|
||||||
import com.ruoyi.common.service.IAnnexService;
|
import com.ruoyi.common.service.IAnnexService;
|
||||||
|
import com.ruoyi.common.tool.FileDeletionService;
|
||||||
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.tools.Tool;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -108,7 +107,9 @@ public class AnnexServiceImpl extends ServicePlusImpl<AnnexMapper, Annex> implem
|
|||||||
return annex;
|
return annex;
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
baseMapper.insertAll(annexes);
|
if(CollectionUtil.isNotEmpty(annexes)){
|
||||||
|
super.saveAll(annexes);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel("app项目任务列表查询条件")
|
@ApiModel("app项目任务列表查询条件")
|
||||||
public class AppTaskDTO {
|
public class AppTaskDTO {
|
||||||
@ -19,6 +21,12 @@ public class AppTaskDTO {
|
|||||||
@ApiModelProperty("承接人")
|
@ApiModelProperty("承接人")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
@ApiModelProperty("任务状态(1进行中 2已完成)")
|
@ApiModelProperty("任务状态(0申请中 1进行中 2已完成)")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否我的任务")
|
||||||
|
private Boolean myTask;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "申请任务ID",hidden = true)
|
||||||
|
private List<Long> taskIds;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel("app申请承接任务")
|
@ApiModel("app申请/取消项目任务")
|
||||||
public class TaskApplyDTO {
|
public class TaskApplyDTO {
|
||||||
|
|
||||||
@ApiModelProperty("任务ID")
|
@ApiModelProperty("任务ID")
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package com.ruoyi.fbs.domain.vo;
|
package com.ruoyi.fbs.domain.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -66,4 +68,9 @@ public class AppTaskDetailVO {
|
|||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("申请者列表")
|
||||||
|
List<BgtProjectRecruitApplyVO> applylist;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -54,5 +54,18 @@ public interface IFbsProjectTaskApplyService extends IServicePlus<FbsProjectTask
|
|||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请承接
|
||||||
|
*/
|
||||||
Boolean appTaskApply(TaskApplyDTO dto);
|
Boolean appTaskApply(TaskApplyDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取包工头申请的所有任务ID
|
||||||
|
*/
|
||||||
|
List<Long> getTaskIdsByUserId(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 取消申请
|
||||||
|
*/
|
||||||
|
Boolean cancelApply(TaskApplyDTO dto);
|
||||||
}
|
}
|
||||||
|
@ -63,5 +63,8 @@ public interface IFbsProjectTaskService extends IServicePlus<FbsProjectTask> {
|
|||||||
*/
|
*/
|
||||||
TableDataInfo<AppTaskVO> appQueryPageList(AppTaskDTO dto);
|
TableDataInfo<AppTaskVO> appQueryPageList(AppTaskDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务详情
|
||||||
|
*/
|
||||||
AppTaskDetailVO appQueryById(Long id);
|
AppTaskDetailVO appQueryById(Long id);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package com.ruoyi.fbs.service.impl;
|
package com.ruoyi.fbs.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.exception.BaseException;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo;
|
import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo;
|
||||||
import com.ruoyi.fbs.domain.FbsProjectTaskApply;
|
import com.ruoyi.fbs.domain.FbsProjectTaskApply;
|
||||||
@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分包商项目任务申请Service业务层处理
|
* 分包商项目任务申请Service业务层处理
|
||||||
@ -75,8 +78,9 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTa
|
|||||||
wrapper.eq(FbsProjectTaskApply::getTaskId, entity.getTaskId());
|
wrapper.eq(FbsProjectTaskApply::getTaskId, entity.getTaskId());
|
||||||
wrapper.eq(FbsProjectTaskApply::getUserId, entity.getUserId());
|
wrapper.eq(FbsProjectTaskApply::getUserId, entity.getUserId());
|
||||||
List<FbsProjectTaskApply> list = baseMapper.selectList(wrapper);
|
List<FbsProjectTaskApply> list = baseMapper.selectList(wrapper);
|
||||||
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
throw new BaseException("该任务已申请");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -91,6 +95,19 @@ public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl<FbsProjectTa
|
|||||||
public Boolean appTaskApply(TaskApplyDTO dto) {
|
public Boolean appTaskApply(TaskApplyDTO dto) {
|
||||||
FbsProjectTaskApply fbsProjectTaskApply = BeanUtil.copyProperties(dto, FbsProjectTaskApply.class);
|
FbsProjectTaskApply fbsProjectTaskApply = BeanUtil.copyProperties(dto, FbsProjectTaskApply.class);
|
||||||
validEntityBeforeSave(fbsProjectTaskApply);
|
validEntityBeforeSave(fbsProjectTaskApply);
|
||||||
return null;
|
return save(fbsProjectTaskApply);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Long> getTaskIdsByUserId(Long userId) {
|
||||||
|
List<FbsProjectTaskApply> list = baseMapper.selectList(Wrappers.<FbsProjectTaskApply>lambdaQuery().eq(FbsProjectTaskApply::getUserId, userId));
|
||||||
|
return list.stream().map(FbsProjectTaskApply::getTaskId).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean cancelApply(TaskApplyDTO dto) {
|
||||||
|
int delete = baseMapper.delete(Wrappers.<FbsProjectTaskApply>lambdaQuery().eq(FbsProjectTaskApply::getTaskId, dto.getTaskId())
|
||||||
|
.eq(FbsProjectTaskApply::getUserId, dto.getUserId()));
|
||||||
|
return delete>0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,20 @@
|
|||||||
package com.ruoyi.fbs.service.impl;
|
package com.ruoyi.fbs.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
|
||||||
|
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||||
|
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||||
|
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||||
|
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.enums.ProjectTaskStatus;
|
||||||
|
import com.ruoyi.common.enums.RecruitApplyStatus;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo;
|
import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo;
|
||||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||||
@ -14,15 +22,18 @@ import com.ruoyi.fbs.domain.dto.AppTaskDTO;
|
|||||||
import com.ruoyi.fbs.domain.vo.AppTaskDetailVO;
|
import com.ruoyi.fbs.domain.vo.AppTaskDetailVO;
|
||||||
import com.ruoyi.fbs.domain.vo.AppTaskVO;
|
import com.ruoyi.fbs.domain.vo.AppTaskVO;
|
||||||
import com.ruoyi.fbs.mapper.FbsProjectTaskMapper;
|
import com.ruoyi.fbs.mapper.FbsProjectTaskMapper;
|
||||||
|
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
|
||||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||||
import com.ruoyi.zbf.domain.ZbfProject;
|
import com.ruoyi.zbf.domain.ZbfProject;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分包商项目任务Service业务层处理
|
* 分包商项目任务Service业务层处理
|
||||||
@ -36,6 +47,16 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IZbfProjectService zbfProjectService;
|
private IZbfProjectService zbfProjectService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IFbsProjectTaskApplyService taskApplyService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private IBgtProjectRecruitService recruitService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IBgtProjectRecruitApplyService recruitApplyService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FbsProjectTask queryById(Long id){
|
public FbsProjectTask queryById(Long id){
|
||||||
return getById(id);
|
return getById(id);
|
||||||
@ -108,6 +129,10 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
|||||||
Page<AppTaskDTO> appTaskDTOPage = new Page<>();
|
Page<AppTaskDTO> appTaskDTOPage = new Page<>();
|
||||||
appTaskDTOPage.setCurrent(dto.getPageNum());
|
appTaskDTOPage.setCurrent(dto.getPageNum());
|
||||||
appTaskDTOPage.setSize(dto.getPageSize());
|
appTaskDTOPage.setSize(dto.getPageSize());
|
||||||
|
if(dto.getMyTask() && ObjectUtil.equals(ProjectTaskStatus.APPLY.getCode(),dto.getStatus())){
|
||||||
|
List<Long> taskIds = taskApplyService.getTaskIdsByUserId(dto.getUserId());
|
||||||
|
dto.setTaskIds(taskIds);
|
||||||
|
}
|
||||||
Page<AppTaskVO> appTaskVOPage = baseMapper.appQueryPageList(appTaskDTOPage, dto);
|
Page<AppTaskVO> appTaskVOPage = baseMapper.appQueryPageList(appTaskDTOPage, dto);
|
||||||
return PageUtils.buildDataInfo(appTaskVOPage);
|
return PageUtils.buildDataInfo(appTaskVOPage);
|
||||||
}
|
}
|
||||||
@ -116,8 +141,21 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
|||||||
public AppTaskDetailVO appQueryById(Long id) {
|
public AppTaskDetailVO appQueryById(Long id) {
|
||||||
FbsProjectTask byId = getById(id);
|
FbsProjectTask byId = getById(id);
|
||||||
AppTaskDetailVO appTaskDetailVO = BeanUtil.copyProperties(byId, AppTaskDetailVO.class);
|
AppTaskDetailVO appTaskDetailVO = BeanUtil.copyProperties(byId, AppTaskDetailVO.class);
|
||||||
|
//项目信息
|
||||||
ZbfProject project = zbfProjectService.getById(byId.getProjectId());
|
ZbfProject project = zbfProjectService.getById(byId.getProjectId());
|
||||||
appTaskDetailVO.setProjectName(project.getProjectName());
|
appTaskDetailVO.setProjectName(project.getProjectName());
|
||||||
|
//申请者信息
|
||||||
|
BgtProjectRecruitQueryBo bgtProjectRecruitQueryBo = new BgtProjectRecruitQueryBo();
|
||||||
|
bgtProjectRecruitQueryBo.setTaskId(id);
|
||||||
|
List<Long> recruitIds = recruitService.queryList(bgtProjectRecruitQueryBo).stream().map(BgtProjectRecruit::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
|
||||||
|
bgtProjectRecruitApplyQueryDTO.setRecruitIds(recruitIds);
|
||||||
|
bgtProjectRecruitApplyQueryDTO.setStatus(RecruitApplyStatus.PASS.getCode());
|
||||||
|
appTaskDetailVO.setApplylist(recruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return appTaskDetailVO;
|
return appTaskDetailVO;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="appQueryList" resultType="com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO">
|
<select id="appQueryList" resultType="com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO">
|
||||||
select wu.user_id, wu.phone, wu.score, wu.avatar_name, wu.username
|
select bpra.id, wu.user_id, wu.phone, wu.score, wu.avatar_name, wu.username
|
||||||
from bgt_project_recruit_apply bpra
|
from bgt_project_recruit_apply bpra
|
||||||
left join wgz_user wu on bpra.user_id = wu.user_id
|
left join wgz_user wu on bpra.user_id = wu.user_id
|
||||||
where bpra.recruit_id = #{dto.recruitId}
|
where bpra.recruit_id = #{dto.recruitId}
|
||||||
|
@ -41,9 +41,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
(select count(task_id) from fbs_project_task_apply where task_id = fpt.id) as applyNum
|
(select count(task_id) from fbs_project_task_apply where task_id = fpt.id) as applyNum
|
||||||
from fbs_project_task fpt
|
from fbs_project_task fpt
|
||||||
left join zbf_project zp on fpt.project_id = zp.id
|
left join zbf_project zp on fpt.project_id = zp.id
|
||||||
where fpt.user_id is null
|
<where>
|
||||||
<if test="dto.taskName != null and dto.taskName != '' ">
|
<if test="dto.taskIds != null and dto.taskIds.size() > 0">
|
||||||
and fpt.task_name like concat('%', #{dto.taskName}, '%')
|
and fpt.id IN
|
||||||
|
<foreach item="item" index="index" collection="dto.taskIds"
|
||||||
|
open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="dto.taskName != null and dto.taskName != '' ">
|
<if test="dto.taskName != null and dto.taskName != '' ">
|
||||||
and fpt.task_name like concat('%', #{dto.taskName}, '%')
|
and fpt.task_name like concat('%', #{dto.taskName}, '%')
|
||||||
@ -54,6 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="dto.status != null and dto.status != '' ">
|
<if test="dto.status != null and dto.status != '' ">
|
||||||
and fpt.status = #{dto.status}
|
and fpt.status = #{dto.status}
|
||||||
</if>
|
</if>
|
||||||
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Reference in New Issue
Block a user