This commit is contained in:
zt
2025-03-27 10:44:14 +08:00
parent 1972e3e4f4
commit 4027127dfd
64 changed files with 3303 additions and 135 deletions

View File

@ -63,8 +63,8 @@ public class AppBgtProjectRecruitApplyController extends BaseController {
@ApiOperation("HTML务工者列表")
@GetMapping("/htmlList")
public AjaxResult<List<BgtProjectRecruitApplyVO>> htmlList(Long recruitId) {
return AjaxResult.success(iBgtProjectRecruitApplyService.htmlList(recruitId));
public AjaxResult<List<BgtProjectRecruitApplyVO>> htmlList(Long recruitId,Boolean isNotUpload) {
return AjaxResult.success(iBgtProjectRecruitApplyService.htmlList(recruitId,isNotUpload));
}
@ApiOperation("App务工者个人详情")

View File

@ -127,6 +127,7 @@ public class AnnexController extends BaseController {
.eq(!notRecruitList.contains(annexType),Annex::getRecruitId, byId.getRecruitId())
.eq(Annex::getUserId, dto.getUserId())
.eq(Annex::getUserType, WGZ)
.eq(Annex::getRecruitApplyId, dto.getRecruitApplyId())
.eq(!"3".equals(annexType), Annex::getAnnexType, annexType)
.in("3".equals(annexType), Annex::getAnnexType, list);
Page<Annex> result = iAnnexService.page(PageUtils.buildPage(), wrapper);

View File

@ -12,6 +12,7 @@ import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.util.DataUtil;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.fbs.service.IFbsUserService;
import com.ruoyi.framework.web.service.AppLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.framework.web.service.TokenService;
@ -60,6 +61,9 @@ public class AppLoginController
@Autowired
private IWgzUserService wgzUserService;
@Autowired
private IFbsUserService fbsUserService;
@Autowired
private ISysDictTypeService dictTypeService;
@ -103,6 +107,9 @@ public class AppLoginController
case Constants.WGZ:
ajax.put("user", wgzUserService.userLongIn(user.getPhonenumber()));
break;
case Constants.FBS:
ajax.put("user", fbsUserService.selectUserByPhone(user.getPhonenumber()));
break;
default:
break;
}

View File

@ -2,6 +2,8 @@ package com.ruoyi.web.controller.common;
import cn.hutool.core.collection.CollectionUtil;
import com.ruoyi.bgt.domain.BgtProjectRecruit;
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
import com.ruoyi.bgt.service.IBgtUserService;
import com.ruoyi.common.constant.Constants;
@ -52,6 +54,7 @@ public class UploadZipController {
private final IAnnexService annexService;
private final IAnnexRecordService annexRecordService;
private final IBgtUserService bgtUserService;
private final IBgtProjectRecruitApplyService recruitApplyService;
private static final String TEMP_DIR = "ruoyi/uploadPath/temporaryZip";
private static final String SAVE_DIR = "ruoyi/uploadPath/recruit";
@ -201,9 +204,11 @@ public class UploadZipController {
// 保险 2
List<Long> insurance = new ArrayList<>();
// 劳务合同 1
List<Long> contract = new ArrayList<>();
// 招工申请Id
List<Long> recruitApplyIds = new ArrayList<>();
if (firstLevelFiles != null) {
for (File firstLevelFile : firstLevelFiles) {
@ -215,6 +220,11 @@ public class UploadZipController {
if(wgzUser == null){
throw new BaseException("文件格式错误");
}
BgtProjectRecruitApply oneByUserIdAndRecruitId = recruitApplyService.getOneByUserIdAndRecruitId(wgzUser.getUserId(), recruitId);
if(oneByUserIdAndRecruitId == null){
throw new BaseException("状态不对");
}
recruitApplyIds.add(oneByUserIdAndRecruitId.getId());
if (firstLevelFile.isDirectory()) {
File[] secondLevelFiles = firstLevelFile.listFiles();
if (secondLevelFiles != null) {
@ -239,10 +249,10 @@ public class UploadZipController {
}
}
if (CollectionUtil.isNotEmpty(insurance)) {
annexService.deleteByUserIdAndRecruitIdAndType(insurance, recruitId, "2");
annexService.deleteByUserIdAndRecruitIdAndType(insurance, recruitId, "2",recruitApplyIds);
}
if (CollectionUtil.isNotEmpty(contract)) {
annexService.deleteByUserIdAndRecruitIdAndType(contract, recruitId, "1");
annexService.deleteByUserIdAndRecruitIdAndType(contract, recruitId, "1",recruitApplyIds);
}
}
@ -307,6 +317,8 @@ public class UploadZipController {
String card = split[1];
WgzUser wgzUser = wgzUserService.findByIdentityCard(card);
BgtProjectRecruitApply oneByUserIdAndRecruitId = recruitApplyService.getOneByUserIdAndRecruitId(wgzUser.getUserId(), recruitId);
String name = destination.getName();
System.out.println("上一级文件名: " + name);
String type = "";
@ -323,6 +335,7 @@ public class UploadZipController {
annex.setUserType(Constants.WGZ);
annex.setUserId(wgzUser.getUserId());
annex.setRecruitId(recruitId);
annex.setRecruitApplyId(oneByUserIdAndRecruitId.getId());
annex.setCreateBy(username);
annex.setUpdateBy(username);
annexList.add(annex);
@ -381,6 +394,8 @@ public class UploadZipController {
String card = split[1];
WgzUser wgzUser = wgzUserService.findByIdentityCard(card);
BgtProjectRecruitApply oneByUserIdAndRecruitId = recruitApplyService.getOneByUserIdAndRecruitId(wgzUser.getUserId(), recruitId);
String name = destination.getName();
String type = "";
if ("保险".equals(name)) {
@ -397,6 +412,7 @@ public class UploadZipController {
annexRecord.setUserType(Constants.WGZ);
annexRecord.setUserId(wgzUser.getUserId());
annexRecord.setRecruitId(recruitId);
annexRecord.setRecruitApplyId(oneByUserIdAndRecruitId.getId());
annexRecord.setCreateBy(username);
annexRecord.setUpdateBy(username);
annexRecord.setCreateUserId(userId);

View File

@ -0,0 +1,140 @@
package com.ruoyi.web.controller.fbs;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.fbs.domain.dto.FbsProjectListDTO;
import com.ruoyi.fbs.domain.vo.FbsProjectDetailVO;
import com.ruoyi.fbs.domain.vo.FbsProjectListVO;
import com.ruoyi.zbf.service.IZbfProjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull;
/**
* 总包方项目Controller
*
* @author ruoyi
* @date 2025-02-17
*/
@Api(value = "App分包商项目管理", tags = {"App分包商"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/app/fbs/project")
public class AppFbsProjectController extends BaseController {
private final IZbfProjectService zbfProjectService;
@ApiOperation("分包商查询可报名项目列表")
@GetMapping("/signUpList")
public TableDataInfo<FbsProjectListVO> signUpList(FbsProjectListDTO dto) {
return zbfProjectService.signUpList(dto);
}
@ApiOperation("分包商查询自己的项目列表")
@GetMapping("/myList")
public TableDataInfo<FbsProjectListVO> applyList(FbsProjectListDTO dto) {
if(dto.getType()==0){
return zbfProjectService.applyList(dto);
} else if (dto.getType()==1) {
return zbfProjectService.joinList(dto);
} else {
return zbfProjectService.completeList(dto);
}
}
@ApiOperation("分包商查看可报名项目详情")
@GetMapping("/signUp/{id}")
public AjaxResult<FbsProjectDetailVO> signUpDetail(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(zbfProjectService.signUpDetail(id));
}
@ApiOperation("分包商查看已申请项目详情")
@GetMapping("/apply/{id}")
public AjaxResult<FbsProjectDetailVO> applyDetail(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(zbfProjectService.applyDetail(id));
}
@ApiOperation("分包商查看已加入或已竣工项目详情")
@GetMapping("/joinOrComplete/{id}")
public AjaxResult<FbsProjectDetailVO> joinOrCompleteDetail(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(zbfProjectService.joinOrCompleteDetail(id));
}
//
// /**
// * 导出总包方项目分包列表
// */
// @ApiOperation("导出总包方项目分包列表")
// @PreAuthorize("@ss.hasPermi('common:subcontracting:export')")
// @Log(title = "总包方项目分包", businessType = BusinessType.EXPORT)
// @GetMapping("/export")
// public AjaxResult<ZbfProjectSubcontracting> export(@Validated ZbfProjectSubcontractingQueryBo bo) {
// List<ZbfProjectSubcontracting> list = iZbfProjectSubcontractingService.queryList(bo);
// ExcelUtil<ZbfProjectSubcontracting> util = new ExcelUtil<ZbfProjectSubcontracting>(ZbfProjectSubcontracting.class);
// return util.exportExcel(list, "总包方项目分包");
// }
//
// /**
// * 获取总包方项目分包详细信息
// */
// @ApiOperation("获取总包方项目分包详细信息")
// @PreAuthorize("@ss.hasPermi('common:subcontracting:query')")
// @GetMapping("/{id}")
// public AjaxResult<ZbfProjectSubcontracting> getInfo(@NotNull(message = "主键不能为空")
// @PathVariable("id") Long id) {
// return AjaxResult.success(iZbfProjectSubcontractingService.queryById(id));
// }
//
// /**
// * 新增总包方项目分包
// */
// @ApiOperation("新增总包方项目分包")
// @PreAuthorize("@ss.hasPermi('common:subcontracting:add')")
// @Log(title = "总包方项目分包", businessType = BusinessType.INSERT)
// @RepeatSubmit
// @PostMapping()
// public AjaxResult<Void> add(@Validated @RequestBody ZbfProjectSubcontracting bo) {
// return toAjax(iZbfProjectSubcontractingService.insert(bo) ? 1 : 0);
// }
//
// /**
// * 修改总包方项目分包
// */
// @ApiOperation("修改总包方项目分包")
// @PreAuthorize("@ss.hasPermi('common:subcontracting:edit')")
// @Log(title = "总包方项目分包", businessType = BusinessType.UPDATE)
// @RepeatSubmit
// @PutMapping()
// public AjaxResult<Void> edit(@Validated @RequestBody ZbfProjectSubcontracting bo) {
// return toAjax(iZbfProjectSubcontractingService.update(bo) ? 1 : 0);
// }
//
// /**
// * 删除总包方项目分包
// */
// @ApiOperation("删除总包方项目分包")
// @PreAuthorize("@ss.hasPermi('common:subcontracting:remove')")
// @Log(title = "总包方项目分包" , businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
// @PathVariable Long[] ids) {
// return toAjax(iZbfProjectSubcontractingService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
// }
}

View File

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

View File

@ -0,0 +1,49 @@
package com.ruoyi.web.controller.fbs;
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.utils.SecurityUtils;
import com.ruoyi.fbs.domain.FbsProjectTask;
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;
/**
* 分包商项目任务Controller
*
* @author ruoyi
* @date 2025-02-17
*/
@Api(value = "分包商项目任务控制器", tags = {"App分包商"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/app/fbs/task")
public class AppFbsProjectTaskController extends BaseController {
private final IFbsProjectTaskService iFbsProjectTaskService;
@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));
}
}

View File

@ -0,0 +1,43 @@
package com.ruoyi.web.controller.fbs;
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.domain.dto.CompanyAuthenticateDTO;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.fbs.service.IFbsUserService;
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.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* APP分包商用户Controller
*
* @author ruoyi
* @date 2025-03-26
*/
@Api(value = "APP分包商用户控制器", tags = {"APP分包商"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/app/fbs/user")
public class AppFbsUserController extends BaseController {
private final IFbsUserService iFbsUserService;
@ApiOperation("分包商企业认证")
@Log(title = "分包商企业认证", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Boolean> edit(@Validated @RequestBody CompanyAuthenticateDTO dto) {
return AjaxResult.success(iFbsUserService.authenticate(dto));
}
}

View File

@ -0,0 +1,57 @@
package com.ruoyi.web.controller.fbs;
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.fbs.domain.FbsWageApplication;
import com.ruoyi.fbs.domain.dto.FbsWageApplicationListDTO;
import com.ruoyi.fbs.service.IFbsWageApplicationService;
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/application")
public class AppFbsWageApplicationController extends BaseController {
private final IFbsWageApplicationService iFbsWageApplicationService;
@ApiOperation("分包商查询自己的工资申请列表")
@GetMapping("/list")
public TableDataInfo<FbsWageApplication> list(@Validated FbsWageApplicationListDTO dto) {
return iFbsWageApplicationService.record(dto);
}
@ApiOperation("分包商获取自己的工资申请详细信息")
@GetMapping("/{id}")
public AjaxResult<FbsWageApplication> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsWageApplicationService.queryById(id));
}
@ApiOperation("分包商提交自己的工资申请")
@Log(title = "分包商工资申请", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Boolean> add(@Validated @RequestBody FbsWageApplication bo) {
//todo: 插入审核人的名字
return AjaxResult.success(iFbsWageApplicationService.insert(bo));
}
}

View File

@ -0,0 +1,39 @@
package com.ruoyi.web.controller.fbs;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull;
/**
* 总包方项目分包Controller
*
* @author ruoyi
* @date 2025-02-17
*/
@Api(value = "App分包商项目分包管理", tags = {"App分包商"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/app/fbs/subcontracting")
public class AppProjectSubcontractingController extends BaseController {
private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService;
@ApiOperation("分包商查询项目分包详细信息")
@GetMapping("/{id}")
public AjaxResult<ZbfProjectSubcontracting> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iZbfProjectSubcontractingService.queryById(id));
}
}

View File

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

View File

@ -0,0 +1,108 @@
package com.ruoyi.web.controller.fbs;
import java.util.List;
import java.util.Arrays;
import com.ruoyi.fbs.domain.FbsWageApplication;
import lombok.RequiredArgsConstructor;
import javax.validation.constraints.*;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.fbs.bo.FbsWageApplicationQueryBo;
import com.ruoyi.fbs.service.IFbsWageApplicationService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* 分包商工资申请Controller
*
* @author ruoyi
* @date 2025-03-26
*/
@Api(value = "分包商工资申请控制器", tags = {"分包商工资申请管理"})
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@RestController
@RequestMapping("/fbs/application")
public class FbsWageApplicationController extends BaseController {
private final IFbsWageApplicationService iFbsWageApplicationService;
/**
* 查询分包商工资申请列表
*/
@ApiOperation("查询分包商工资申请列表")
@PreAuthorize("@ss.hasPermi('fbs:application:list')")
@GetMapping("/list")
public TableDataInfo<FbsWageApplication> list(@Validated FbsWageApplicationQueryBo bo) {
return iFbsWageApplicationService.queryPageList(bo);
}
/**
* 导出分包商工资申请列表
*/
@ApiOperation("导出分包商工资申请列表")
@PreAuthorize("@ss.hasPermi('fbs:application:export')")
@Log(title = "分包商工资申请", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult<FbsWageApplication> export(@Validated FbsWageApplicationQueryBo bo) {
List<FbsWageApplication> list = iFbsWageApplicationService.queryList(bo);
ExcelUtil<FbsWageApplication> util = new ExcelUtil<FbsWageApplication>(FbsWageApplication.class);
return util.exportExcel(list, "分包商工资申请");
}
/**
* 获取分包商工资申请详细信息
*/
@ApiOperation("获取分包商工资申请详细信息")
@PreAuthorize("@ss.hasPermi('fbs:application:query')")
@GetMapping("/{id}")
public AjaxResult<FbsWageApplication> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return AjaxResult.success(iFbsWageApplicationService.queryById(id));
}
/**
* 新增分包商工资申请
*/
@ApiOperation("新增分包商工资申请")
@PreAuthorize("@ss.hasPermi('fbs:application:add')")
@Log(title = "分包商工资申请", businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping()
public AjaxResult<Void> add(@Validated @RequestBody FbsWageApplication bo) {
return toAjax(iFbsWageApplicationService.insert(bo) ? 1 : 0);
}
/**
* 修改分包商工资申请
*/
@ApiOperation("修改分包商工资申请")
@PreAuthorize("@ss.hasPermi('fbs:application:edit')")
@Log(title = "分包商工资申请", businessType = BusinessType.UPDATE)
@RepeatSubmit
@PutMapping()
public AjaxResult<Void> edit(@Validated @RequestBody FbsWageApplication bo) {
return toAjax(iFbsWageApplicationService.update(bo) ? 1 : 0);
}
/**
* 删除分包商工资申请
*/
@ApiOperation("删除分包商工资申请")
@PreAuthorize("@ss.hasPermi('fbs:application:remove')")
@Log(title = "分包商工资申请" , businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iFbsWageApplicationService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
}
}