添加字段

This commit is contained in:
zt
2025-02-18 17:25:21 +08:00
parent d782d2d9f0
commit 10e5eaf242
17 changed files with 202 additions and 71 deletions

View File

@ -34,7 +34,7 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
@ApiOperation("App查询包工头招工申请列表")
@ApiOperation("App务工者列表")
@GetMapping("/list")
public List<BgtProjectRecruitApplyVO> list(@Validated BgtProjectRecruitApplyQueryDTO dto) {
return iBgtProjectRecruitApplyService.appQueryList(dto);

View File

@ -1,8 +1,8 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitDetailVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.common.annotation.Log;
@ -11,19 +11,14 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
import java.util.List;
/**
* 包工头招工Controller
@ -48,68 +43,26 @@ public class AppBgtProjectRecruitController extends BaseController {
return iBgtProjectRecruitService.appQueryPageList(dto);
}
@ApiOperation("App申请者列表")
@GetMapping("/applyList")
public TableDataInfo<BgtProjectRecruit> applyList(@Validated BgtProjectRecruitQueryBo bo) {
return iBgtProjectRecruitService.queryPageList(bo);
}
/**
* 导出包工头招工列表
*/
@ApiOperation("导出包工头招工列表")
@PreAuthorize("@ss.hasPermi('bgt:recruit:export')")
@Log(title = "包工头招工", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult<BgtProjectRecruit> export(@Validated BgtProjectRecruitQueryBo bo) {
List<BgtProjectRecruit> list = iBgtProjectRecruitService.queryList(bo);
ExcelUtil<BgtProjectRecruit> util = new ExcelUtil<BgtProjectRecruit>(BgtProjectRecruit.class);
return util.exportExcel(list, "包工头招工");
}
/**
* 获取包工头招工详细信息
*/
@ApiOperation("获取包工头招工详细信息")
@PreAuthorize("@ss.hasPermi('bgt:recruit:query')")
@ApiOperation("App我的招工任务详情")
@GetMapping("/{id}")
public AjaxResult<BgtProjectRecruit> getInfo(@NotNull(message = "主键不能为空")
public AjaxResult<BgtProjectRecruitDetailVO> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iBgtProjectRecruitService.queryById(id));
return AjaxResult.success(iBgtProjectRecruitService.appQueryById(id));
}
/**
* 新增包工头招工
*/
@ApiOperation("App新增包工头招工")
@Log(title = "App包工头招工", businessType = BusinessType.INSERT)
@ApiOperation("App发布招工")
@Log(title = "App发布招工", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Void> add(@Validated @RequestBody BgtProjectRecruit bo) {
return toAjax(iBgtProjectRecruitService.insert(bo) ? 1 : 0);
}
/**
* 修改包工头招工
*/
@ApiOperation("修改包工头招工")
@PreAuthorize("@ss.hasPermi('bgt:recruit:edit')")
@Log(title = "包工头招工", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Void> edit(@Validated @RequestBody BgtProjectRecruit bo) {
return toAjax(iBgtProjectRecruitService.update(bo) ? 1 : 0);
}
/**
* 删除包工头招工
*/
@ApiOperation("删除包工头招工")
@PreAuthorize("@ss.hasPermi('bgt:recruit:remove')")
@Log(title = "包工头招工" , businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iBgtProjectRecruitService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
}
}

View File

@ -0,0 +1,30 @@
package com.ruoyi.common.enums;
/**
* 用户状态
*
* @author ruoyi
*/
public enum RecruitApplyStatus
{
TO_PASS("0", "未选择"), PASS("1", "已选择"), ;
private final String code;
private final String info;
RecruitApplyStatus(String code, String info)
{
this.code = code;
this.info = info;
}
public String getCode()
{
return code;
}
public String getInfo()
{
return info;
}
}

View File

@ -28,7 +28,7 @@ public class BgtProjectRecruit implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 项目ID */
@ -102,7 +102,7 @@ public class BgtProjectRecruit implements Serializable {
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
// @TableLogic
private String delFlag;
/** 创建者 */

View File

@ -28,7 +28,7 @@ public class BgtProjectRecruitApply implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 招工ID */
@ -41,10 +41,19 @@ public class BgtProjectRecruitApply implements Serializable {
@ApiModelProperty("务工者用户ID")
private Long userId;
@ApiModelProperty("选择状态0未选择 1已选择")
private String status;
@ApiModelProperty("进场时间")
private String entryTime;
@ApiModelProperty("离场时间")
private String leaveTime;
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
// @TableLogic
private String delFlag;
/** 创建者 */

View File

@ -6,15 +6,21 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("包工头招工申请列表查询对象")
public class BgtProjectRecruitApplyQueryDTO extends BaseEntity {
@ApiModelProperty("招工ID")
@NotNull(message = "招工ID不能为空")
private Long recruitId;
public BgtProjectRecruitApplyQueryDTO(Long recruitId) {
this.recruitId = recruitId;
}
@ApiModelProperty("选择状态0未选择 1已选择")
private String status;
@ApiModelProperty("务工者名字")
private String username;
}

View File

@ -31,6 +31,9 @@ public class BgtProjectRecruitQueryDTO extends BaseEntity {
@ApiModelProperty("招工名称")
private String recruitName;
@ApiModelProperty("选择状态0未选择 1已选择")
private String status;
// /** 项目ID */
// @ApiModelProperty("项目ID")
// private Long projectId;

View File

@ -0,0 +1,90 @@
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;
import java.util.List;
/**
* 包工头招工对象 bgt_project_recruit
*
* @author ruoyi
* @date 2025-02-17
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("App包工头招工详情对象")
public class BgtProjectRecruitDetailVO implements Serializable {
private static final long serialVersionUID=1L;
/** 主键ID */
@ApiModelProperty("主键ID")
private Long id;
/** 项目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 taskName;
@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;
@ApiModelProperty("创建者ID")
private Long userId;
@ApiModelProperty("发布时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime createTime;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("申请者列表")
List<BgtProjectRecruitApplyVO> applylist;
}

View File

@ -3,6 +3,7 @@ package com.ruoyi.bgt.service;
import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitDetailVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
import com.ruoyi.common.core.page.TableDataInfo;
@ -59,4 +60,10 @@ public interface IBgtProjectRecruitService extends IServicePlus<BgtProjectRecrui
* 查询列表
*/
TableDataInfo<BgtProjectRecruitVO> appQueryPageList(BgtProjectRecruitQueryDTO dto);
/**
* 查询单个
* @return
*/
BgtProjectRecruitDetailVO appQueryById(Long id);
}

View File

@ -16,7 +16,6 @@ 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;
@ -86,6 +85,6 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
@Override
public List<BgtProjectRecruitApplyVO> appQueryList(BgtProjectRecruitApplyQueryDTO dto) {
return Collections.emptyList();
return baseMapper.appQueryList(dto);
}
}

View File

@ -9,13 +9,17 @@ import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitQueryDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitDetailVO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitVO;
import com.ruoyi.bgt.mapper.BgtProjectRecruitMapper;
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.page.TableDataInfo;
import com.ruoyi.common.enums.RecruitApplyStatus;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.fbs.domain.FbsProjectTask;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -32,6 +36,10 @@ import java.util.Map;
@Service
public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecruitMapper, BgtProjectRecruit> implements IBgtProjectRecruitService {
@Autowired
private IFbsProjectTaskService fbsProjectTaskService;
@Autowired
private IBgtProjectRecruitApplyService bgtProjectRecruitApplyService;
@ -109,8 +117,25 @@ public class BgtProjectRecruitServiceImpl extends ServicePlusImpl<BgtProjectRecr
queryDTOPage.setSize(dto.getPageSize());
Page<BgtProjectRecruitVO> queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto);
for(BgtProjectRecruitVO vo : queryVOPage.getRecords()) {
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(new BgtProjectRecruitApplyQueryDTO(vo.getId())));
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
bgtProjectRecruitApplyQueryDTO.setRecruitId(vo.getId());
bgtProjectRecruitApplyQueryDTO.setStatus(dto.getStatus());
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
}
return PageUtils.buildDataInfo(queryVOPage);
}
@Override
public BgtProjectRecruitDetailVO appQueryById(Long id) {
BgtProjectRecruit recruit = getById(id);
BgtProjectRecruitDetailVO vo = BeanUtil.toBean(recruit, BgtProjectRecruitDetailVO.class);
FbsProjectTask task = fbsProjectTaskService.getById(vo.getTaskId());
vo.setTaskName(task.getTaskName());
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
bgtProjectRecruitApplyQueryDTO.setRecruitId(vo.getId());
bgtProjectRecruitApplyQueryDTO.setStatus(RecruitApplyStatus.TO_PASS.getCode());
vo.setApplylist(bgtProjectRecruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO));
return null;
}
}

View File

@ -41,6 +41,9 @@ public class Annex implements Serializable {
@ApiModelProperty("用户类型")
private String userType;
@ApiModelProperty("招工任务ID")
private String recruitId;
/** 附件类型 */
@Excel(name = "附件类型")
@ApiModelProperty("附件类型")

View File

@ -28,7 +28,7 @@ public class FbsProjectTaskApply implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 任务ID */

View File

@ -28,7 +28,7 @@ public class ZbfProject implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 唯一标识 */
@ -74,7 +74,7 @@ public class ZbfProject implements Serializable {
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
// @TableLogic
private String delFlag;
/** 创建者 */

View File

@ -28,7 +28,7 @@ public class ZbfProjectSection implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 项目ID */
@ -49,7 +49,7 @@ public class ZbfProjectSection implements Serializable {
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
// @TableLogic
private String delFlag;
/** 创建者 */

View File

@ -28,7 +28,7 @@ public class ZbfProjectSubcontracting implements Serializable {
/** 主键ID */
@ApiModelProperty("主键ID")
@TableId(value = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 项目ID */
@ -69,7 +69,7 @@ public class ZbfProjectSubcontracting implements Serializable {
/** 删除标志0代表存在 2代表删除 */
@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
@ApiModelProperty("删除标志0代表存在 2代表删除")
@TableLogic
// @TableLogic
private String delFlag;
/** 创建者 */

View File

@ -21,6 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from bgt_project_recruit_apply bpra
left join wgz_user wu on bpra.user_id = wu.user_id
where bpra.recruit_id = #{dto.recruitId}
<if test="dto.status !=null and dto.status !='' ">
and bpra.status = #{dto.status}
</if>
<if test="dto.username !=null and dto.username !='' ">
and wu.username like concat('%', #{dto.username}, '%')
</if>
</select>
</mapper>