分包商

This commit is contained in:
zt
2025-03-27 16:20:41 +08:00
parent 823d935d2d
commit e35e17df3e
35 changed files with 615 additions and 107 deletions

View File

@ -5,7 +5,7 @@ import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.fbs.domain.dto.TaskApplyDTO;
import com.ruoyi.bgt.domain.dto.BgtTaskApplyDTO;
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -36,7 +36,7 @@ public class AppBgtProjectTaskApplyController extends BaseController {
@Log(title = "App申请承接项目任务", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Boolean> appTaskApply(@Validated @RequestBody TaskApplyDTO dto) {
public AjaxResult<Boolean> appTaskApply(@Validated @RequestBody BgtTaskApplyDTO dto) {
return AjaxResult.success(iFbsProjectTaskApplyService.appTaskApply(dto));
}
@ -44,7 +44,7 @@ public class AppBgtProjectTaskApplyController extends BaseController {
@ApiOperation("App取消申请项目任务")
@Log(title = "App取消申请项目任务" , businessType = BusinessType.DELETE)
@DeleteMapping()
public AjaxResult<Boolean> cancelApply(TaskApplyDTO dto) {
public AjaxResult<Boolean> cancelApply(BgtTaskApplyDTO dto) {
return AjaxResult.success(iFbsProjectTaskApplyService.cancelApply(dto));
}

View File

@ -3,6 +3,7 @@ package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO;
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
import com.ruoyi.bgt.domain.vo.BgtProjectTaskUseCountVO;
import com.ruoyi.bgt.domain.vo.BgtTaskDetailWageVO;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@ -14,7 +15,7 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.BaseException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.fbs.domain.FbsProjectTask;
import com.ruoyi.fbs.domain.dto.AppTaskDTO;
import com.ruoyi.bgt.domain.dto.BgtTaskDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import io.swagger.annotations.Api;
@ -52,7 +53,7 @@ public class AppBgtProjectTaskController extends BaseController {
,notes = "1.首页任务列表 任务状态(status) 申请(0) 是否我的任务(myTask) false\n"+
"2.我的任务列表 任务状态(status) 申请(0) 进行(1) 完成(2) 是否我的任务(myTask) true")
@GetMapping("/list")
public TableDataInfo<AppTaskVO> list(@Validated AppTaskDTO dto) {
public TableDataInfo<AppTaskVO> list(@Validated BgtTaskDTO dto) {
return iFbsProjectTaskService.appQueryPageList(dto);
}
@ -86,7 +87,7 @@ public class AppBgtProjectTaskController extends BaseController {
@ApiOperation("项目任务详细信息-结算")
@GetMapping("/wage/{id}")
public AjaxResult<AppTaskDetailWageVO> getInfoWage(@NotNull(message = "主键不能为空")
public AjaxResult<BgtTaskDetailWageVO> getInfoWage(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsProjectTaskService.wage(id));
}

View File

@ -1,6 +1,6 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO;
import com.ruoyi.bgt.domain.dto.BgtUserRealNameAuthenticationDTO;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
@ -42,7 +42,7 @@ public class AppBgtUserController extends BaseController {
@Log(title = "App管理包工头", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping
public AjaxResult<Boolean> realNameAuthentication(@Validated @RequestBody UserRealNameAuthenticationDTO dto) {
public AjaxResult<Boolean> realNameAuthentication(@Validated @RequestBody BgtUserRealNameAuthenticationDTO dto) {
Boolean b = iBgtUserService.realNameAuthentication(dto);
if(b){
//更新上下文和缓存

View File

@ -1,7 +1,6 @@
package com.ruoyi.web.controller.bgt;
import com.ruoyi.bgt.bo.BgtUserQueryBo;
import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;

View File

@ -0,0 +1,64 @@
package com.ruoyi.web.controller.fbs;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.SubcontractingApplyStatus;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
/**
* 总包方项目分包申请Controller
*
* @author ruoyi
* @date 2025-03-26
*/
@Api(value = "App分包商项目分包申请控制器", tags = {"App分包商"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/app/fbs/apply")
public class AppFbsProjectSubcontractingApplyController extends BaseController {
private final IZbfProjectSubcontractingApplyService iZbfProjectSubcontractingApplyService;
/**
* 新增总包方项目分包申请
*/
@ApiOperation("分包商申请项目分包")
@Log(title = "分包商申请项目分包", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Boolean> apply(@Validated @RequestBody ZbfProjectSubcontractingApply bo) {
return AjaxResult.success(iZbfProjectSubcontractingApplyService.insert(bo));
}
/**
* 修改总包方项目分包申请
*/
@ApiOperation("分包商取消项目分包申请")
@Log(title = "分包商取消项目分包申请", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping("/{subId}")
public AjaxResult<Boolean> cancel(@NotNull(message = "主键不能为空")
@PathVariable("subId") Long subId) {
LambdaUpdateWrapper<ZbfProjectSubcontractingApply> wrapper = Wrappers.<ZbfProjectSubcontractingApply>lambdaUpdate()
.eq(ZbfProjectSubcontractingApply::getSubId, subId)
.eq(ZbfProjectSubcontractingApply::getFbsUserId, SecurityUtils.getAppUserId())
.set(ZbfProjectSubcontractingApply::getApplyStatus, SubcontractingApplyStatus.CANCEL.getCode());
return AjaxResult.success(iZbfProjectSubcontractingApplyService.update(wrapper));
}
}

View File

@ -25,7 +25,7 @@ import javax.validation.constraints.NotNull;
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/app/fbs/subcontracting")
public class AppProjectSubcontractingController extends BaseController {
public class AppFbsProjectSubcontractingController extends BaseController {
private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService;

View File

@ -1,22 +1,30 @@
package com.ruoyi.web.controller.fbs;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.BgtUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.fbs.domain.FbsProjectTask;
import com.ruoyi.fbs.domain.dto.FbsProjectTaskUpdateDTO;
import com.ruoyi.fbs.domain.dto.FbsTaskApplyListDTO;
import com.ruoyi.fbs.domain.dto.FbsTaskListDTO;
import com.ruoyi.fbs.domain.vo.*;
import com.ruoyi.fbs.service.IFbsProjectTaskApplyService;
import com.ruoyi.fbs.service.IFbsProjectTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
/**
* 分包商项目任务Controller
@ -31,19 +39,72 @@ import org.springframework.web.bind.annotation.RestController;
public class AppFbsProjectTaskController extends BaseController {
private final IFbsProjectTaskService iFbsProjectTaskService;
private final IFbsProjectTaskApplyService iFbsProjectTaskApplyService;
private final IBgtUserService iBgtUserService;
@ApiOperation("分包商发布任务")
@Log(title = "分包商发布任务", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Boolean> add(@Validated @RequestBody FbsProjectTask bo) {
bo.setCreateId(SecurityUtils.getAppUserId());
bo.setStatus("1");
// BgtUser byId = bgtUserService.selectUserByUserId(SecurityUtils.getAppUserId());
// if(byId == null || byId.getIdentityCard() == null){
// throw new BaseException("当前用户还未实名认证!");
// }
return AjaxResult.success(iFbsProjectTaskService.insert(bo));
}
@ApiOperation("分包商修改任务")
@Log(title = "分包商修改任务", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Boolean> edit(@Validated @RequestBody FbsProjectTaskUpdateDTO dto) {
FbsProjectTask task = iFbsProjectTaskService.getById(dto.getId());
BeanUtil.copyProperties(dto, task);
return AjaxResult.success(iFbsProjectTaskService.update(task));
}
@ApiOperation("分包商查询任务列表")
@GetMapping("/list")
public TableDataInfo<FbsProjectTaskListVO> list(@Validated FbsTaskListDTO dto) {
return iFbsProjectTaskService.fbsPageList(dto);
}
@ApiOperation("分包商查询任务详情-基础信息")
@GetMapping("/base/{id}")
public AjaxResult<AppTaskDetailVO> base(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsProjectTaskService.appQueryById(id));
}
@ApiOperation("分包商查询任务详情-申请列表")
@GetMapping("/taskApplyList")
public TableDataInfo<FbsProjectTaskApplyListVO> taskApplyList(@Validated FbsTaskApplyListDTO dto) {
return iFbsProjectTaskApplyService.queryPageListByTaskId(dto);
}
@ApiOperation("分包商查询任务详情-包工头信息")
@GetMapping("/bgtInfo/{id}")
public AjaxResult<BgtUser> bgtInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
FbsProjectTask task = iFbsProjectTaskService.getById(id);
if(task!=null&&task.getUserId()!=null){
BgtUser bgtUser = iBgtUserService.selectUserByUserId(task.getUserId());
return AjaxResult.success(bgtUser);
}
return AjaxResult.success(new BgtUser());
}
@ApiOperation("分包商查询任务详情-任务进度")
@GetMapping("/progress/{id}")
public AjaxResult<AppTaskDetailProgressVO> progress(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsProjectTaskService.progress(id));
}
@ApiOperation("分包商查询任务详情-工资结算审批")
@GetMapping("/wage/{id}")
public AjaxResult<FbsTaskDetailWageVO> fbsWage(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsProjectTaskService.fbsWage(id));
}
}

View File

@ -0,0 +1,109 @@
package com.ruoyi.web.controller.zbf;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
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 com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo;
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService;
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
*
* @author ruoyi
* @date 2025-03-26
*/
@Api(value = "总包方项目分包申请控制器", tags = {"总包方项目分包申请管理"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/zbf/apply")
public class ZbfProjectSubcontractingApplyController extends BaseController {
private final IZbfProjectSubcontractingApplyService iZbfProjectSubcontractingApplyService;
/**
* 查询总包方项目分包申请列表
*/
@ApiOperation("查询总包方项目分包申请列表")
@PreAuthorize("@ss.hasPermi('zbf:apply:list')")
@GetMapping("/list")
public TableDataInfo<ZbfProjectSubcontractingApply> list(@Validated ZbfProjectSubcontractingApplyQueryBo bo) {
return iZbfProjectSubcontractingApplyService.queryPageList(bo);
}
/**
* 导出总包方项目分包申请列表
*/
@ApiOperation("导出总包方项目分包申请列表")
@PreAuthorize("@ss.hasPermi('zbf:apply:export')")
@Log(title = "总包方项目分包申请", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult<ZbfProjectSubcontractingApply> export(@Validated ZbfProjectSubcontractingApplyQueryBo bo) {
List<ZbfProjectSubcontractingApply> list = iZbfProjectSubcontractingApplyService.queryList(bo);
ExcelUtil<ZbfProjectSubcontractingApply> util = new ExcelUtil<ZbfProjectSubcontractingApply>(ZbfProjectSubcontractingApply.class);
return util.exportExcel(list, "总包方项目分包申请");
}
/**
* 获取总包方项目分包申请详细信息
*/
@ApiOperation("获取总包方项目分包申请详细信息")
@PreAuthorize("@ss.hasPermi('zbf:apply:query')")
@GetMapping("/{id}")
public AjaxResult<ZbfProjectSubcontractingApply> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iZbfProjectSubcontractingApplyService.queryById(id));
}
/**
* 新增总包方项目分包申请
*/
@ApiOperation("新增总包方项目分包申请")
@PreAuthorize("@ss.hasPermi('zbf:apply:add')")
@Log(title = "总包方项目分包申请", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Void> add(@Validated @RequestBody ZbfProjectSubcontractingApply bo) {
return toAjax(iZbfProjectSubcontractingApplyService.insert(bo) ? 1 : 0);
}
/**
* 修改总包方项目分包申请
*/
@ApiOperation("修改总包方项目分包申请")
@PreAuthorize("@ss.hasPermi('zbf:apply:edit')")
@Log(title = "总包方项目分包申请", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Void> edit(@Validated @RequestBody ZbfProjectSubcontractingApply bo) {
return toAjax(iZbfProjectSubcontractingApplyService.update(bo) ? 1 : 0);
}
/**
* 删除总包方项目分包申请
*/
@ApiOperation("删除总包方项目分包申请")
@PreAuthorize("@ss.hasPermi('zbf:apply:remove')")
@Log(title = "总包方项目分包申请" , businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iZbfProjectSubcontractingApplyService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
}
}