diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectRecruitApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectRecruitApplyController.java new file mode 100644 index 0000000..9dfc523 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectRecruitApplyController.java @@ -0,0 +1,57 @@ +package com.ruoyi.web.controller.bgt; + +import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; +import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; +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 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 java.util.List; + +/** + * 包工头招工申请Controller + * + * @author ruoyi + * @date 2025-02-18 + */ +@Api(value = "App包工头招工申请控制器", tags = {"App包工头招工申请管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/app/bgt/apply") +public class AppBgtProjectRecruitApplyController extends BaseController { + + private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService; + + + + @ApiOperation("查询包工头招工申请列表") + @GetMapping("/list") + public List list(@Validated BgtProjectRecruitApplyQueryDTO dto) { + return iBgtProjectRecruitApplyService.appQueryList(dto); + } + + + /** + * 新增包工头招工申请 + */ + @ApiOperation("App务工者招工报名") + @Log(title = "App务工者招工报名", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody BgtProjectRecruitApply bo) { + return toAjax(iBgtProjectRecruitApplyService.insert(bo) ? 1 : 0); + } + + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectRecruitController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectRecruitController.java new file mode 100644 index 0000000..c4ce2c8 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectRecruitController.java @@ -0,0 +1,113 @@ +package com.ruoyi.web.controller.bgt; + +import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo; +import com.ruoyi.bgt.domain.BgtProjectRecruit; +import com.ruoyi.bgt.service.IBgtProjectRecruitService; +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 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("/app/bgt/recruit") +public class AppBgtProjectRecruitController extends BaseController { + + private final IBgtProjectRecruitService iBgtProjectRecruitService; + + /** + * 查询包工头招工列表 + */ + @ApiOperation("App我的招工") + @GetMapping("/list") + public TableDataInfo list(@Validated BgtProjectRecruitQueryBo bo) { + return iBgtProjectRecruitService.queryPageList(bo); + } + + @ApiOperation("App申请者列表") + @GetMapping("/applyList") + public TableDataInfo applyList(@Validated BgtProjectRecruitQueryBo bo) { + return iBgtProjectRecruitService.queryPageList(bo); + } + + /** + * 导出包工头招工列表 + */ + @ApiOperation("导出包工头招工列表") + @PreAuthorize("@ss.hasPermi('bgt:recruit:export')") + @Log(title = "包工头招工", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated BgtProjectRecruitQueryBo bo) { + List list = iBgtProjectRecruitService.queryList(bo); + ExcelUtil util = new ExcelUtil(BgtProjectRecruit.class); + return util.exportExcel(list, "包工头招工"); + } + + /** + * 获取包工头招工详细信息 + */ + @ApiOperation("获取包工头招工详细信息") + @PreAuthorize("@ss.hasPermi('bgt:recruit:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iBgtProjectRecruitService.queryById(id)); + } + + /** + * 新增包工头招工 + */ + @ApiOperation("App新增包工头招工") + @Log(title = "App包工头招工", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult 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 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 remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iBgtProjectRecruitService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskProgressController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskProgressController.java new file mode 100644 index 0000000..3d27bee --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtProjectTaskProgressController.java @@ -0,0 +1,68 @@ +package com.ruoyi.web.controller.bgt; + +import com.ruoyi.bgt.domain.BgtProjectTaskProgress; +import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO; +import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; +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 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-02-18 + */ +@Api(value = "App包工头项目任务进度控制器", tags = {"App包工头项目任务进度管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/app/bgt/progress") +public class AppBgtProjectTaskProgressController extends BaseController { + + private final IBgtProjectTaskProgressService iBgtProjectTaskProgressService; + + /** + * 查询包工头项目任务进度列表 + */ + @ApiOperation("App查询包工头项目任务进度列表") + @GetMapping("/list") + public TableDataInfo list(@Validated BgtProjectTaskProgressQueryDTO bo) { + return iBgtProjectTaskProgressService.appQueryPageList(bo); + } + + + /** + * 获取包工头项目任务进度详细信息 + */ + @ApiOperation("App获取包工头项目任务进度详细信息") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iBgtProjectTaskProgressService.appQueryById(id)); + } + + /** + * 新增包工头项目任务进度 + */ + @ApiOperation("App上传任务进度") + @Log(title = "App上传任务进度", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody BgtProjectTaskProgress bo) { + return toAjax(iBgtProjectTaskProgressService.insert(bo) ? 1 : 0); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java index c47b0ac..d7df678 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/AppBgtUserController.java @@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*; * @author ruoyi * @date 2025-02-14 */ -@Api(value = "APP包工头控制器", tags = {"APP包工头管理"}) +@Api(value = "App包工头控制器", tags = {"APP包工头管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/app/bgt/user") @@ -32,7 +32,7 @@ public class AppBgtUserController extends BaseController { * 实名认证 */ @ApiOperation("实名认证") - @Log(title = "APP管理包工头", businessType = BusinessType.UPDATE) + @Log(title = "App管理包工头", businessType = BusinessType.UPDATE) @RepeatSubmit @PutMapping public AjaxResult realNameAuthentication(@Validated @RequestBody UserRealNameAuthenticationDTO dto) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectRecruitApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectRecruitApplyController.java new file mode 100644 index 0000000..32d97e4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectRecruitApplyController.java @@ -0,0 +1,109 @@ +package com.ruoyi.web.controller.bgt; + +import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo; +import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; +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 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-18 + */ +@Api(value = "包工头招工申请控制器", tags = {"包工头招工申请管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/bgt/apply") +public class BgtProjectRecruitApplyController extends BaseController { + + private final IBgtProjectRecruitApplyService iBgtProjectRecruitApplyService; + + /** + * 查询包工头招工申请列表 + */ + @ApiOperation("查询包工头招工申请列表") + @PreAuthorize("@ss.hasPermi('bgt:apply:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated BgtProjectRecruitApplyQueryBo bo) { + return iBgtProjectRecruitApplyService.queryPageList(bo); + } + + /** + * 导出包工头招工申请列表 + */ + @ApiOperation("导出包工头招工申请列表") + @PreAuthorize("@ss.hasPermi('bgt:apply:export')") + @Log(title = "包工头招工申请", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated BgtProjectRecruitApplyQueryBo bo) { + List list = iBgtProjectRecruitApplyService.queryList(bo); + ExcelUtil util = new ExcelUtil(BgtProjectRecruitApply.class); + return util.exportExcel(list, "包工头招工申请"); + } + + /** + * 获取包工头招工申请详细信息 + */ + @ApiOperation("获取包工头招工申请详细信息") + @PreAuthorize("@ss.hasPermi('bgt:apply:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iBgtProjectRecruitApplyService.queryById(id)); + } + + /** + * 新增包工头招工申请 + */ + @ApiOperation("新增包工头招工申请") + @PreAuthorize("@ss.hasPermi('bgt:apply:add')") + @Log(title = "包工头招工申请", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody BgtProjectRecruitApply bo) { + return toAjax(iBgtProjectRecruitApplyService.insert(bo) ? 1 : 0); + } + + /** + * 修改包工头招工申请 + */ + @ApiOperation("修改包工头招工申请") + @PreAuthorize("@ss.hasPermi('bgt:apply:edit')") + @Log(title = "包工头招工申请", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody BgtProjectRecruitApply bo) { + return toAjax(iBgtProjectRecruitApplyService.update(bo) ? 1 : 0); + } + + /** + * 删除包工头招工申请 + */ + @ApiOperation("删除包工头招工申请") + @PreAuthorize("@ss.hasPermi('bgt:apply:remove')") + @Log(title = "包工头招工申请" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iBgtProjectRecruitApplyService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectRecruitController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectRecruitController.java new file mode 100644 index 0000000..077a92e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectRecruitController.java @@ -0,0 +1,108 @@ +package com.ruoyi.web.controller.bgt; + +import java.util.List; +import java.util.Arrays; + +import com.ruoyi.bgt.domain.BgtProjectRecruit; +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.bgt.bo.BgtProjectRecruitQueryBo; +import com.ruoyi.bgt.service.IBgtProjectRecruitService; +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-02-17 + */ +@Api(value = "包工头招工控制器", tags = {"包工头招工管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/bgt/recruit") +public class BgtProjectRecruitController extends BaseController { + + private final IBgtProjectRecruitService iBgtProjectRecruitService; + + /** + * 查询包工头招工列表 + */ + @ApiOperation("查询包工头招工列表") + @PreAuthorize("@ss.hasPermi('bgt:recruit:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated BgtProjectRecruitQueryBo bo) { + return iBgtProjectRecruitService.queryPageList(bo); + } + + /** + * 导出包工头招工列表 + */ + @ApiOperation("导出包工头招工列表") + @PreAuthorize("@ss.hasPermi('bgt:recruit:export')") + @Log(title = "包工头招工", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated BgtProjectRecruitQueryBo bo) { + List list = iBgtProjectRecruitService.queryList(bo); + ExcelUtil util = new ExcelUtil(BgtProjectRecruit.class); + return util.exportExcel(list, "包工头招工"); + } + + /** + * 获取包工头招工详细信息 + */ + @ApiOperation("获取包工头招工详细信息") + @PreAuthorize("@ss.hasPermi('bgt:recruit:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iBgtProjectRecruitService.queryById(id)); + } + + /** + * 新增包工头招工 + */ + @ApiOperation("新增包工头招工") + @PreAuthorize("@ss.hasPermi('bgt:recruit:add')") + @Log(title = "包工头招工", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult 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 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 remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iBgtProjectRecruitService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectTaskProgressController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectTaskProgressController.java new file mode 100644 index 0000000..b34e37e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bgt/BgtProjectTaskProgressController.java @@ -0,0 +1,109 @@ +package com.ruoyi.web.controller.bgt; + +import com.ruoyi.bgt.bo.BgtProjectTaskProgressQueryBo; +import com.ruoyi.bgt.domain.BgtProjectTaskProgress; +import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; +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 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-18 + */ +@Api(value = "包工头项目任务进度控制器", tags = {"包工头项目任务进度管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/bgt/progress") +public class BgtProjectTaskProgressController extends BaseController { + + private final IBgtProjectTaskProgressService iBgtProjectTaskProgressService; + + /** + * 查询包工头项目任务进度列表 + */ + @ApiOperation("查询包工头项目任务进度列表") + @PreAuthorize("@ss.hasPermi('bgt:progress:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated BgtProjectTaskProgressQueryBo bo) { + return iBgtProjectTaskProgressService.queryPageList(bo); + } + + /** + * 导出包工头项目任务进度列表 + */ + @ApiOperation("导出包工头项目任务进度列表") + @PreAuthorize("@ss.hasPermi('bgt:progress:export')") + @Log(title = "包工头项目任务进度", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated BgtProjectTaskProgressQueryBo bo) { + List list = iBgtProjectTaskProgressService.queryList(bo); + ExcelUtil util = new ExcelUtil(BgtProjectTaskProgress.class); + return util.exportExcel(list, "包工头项目任务进度"); + } + + /** + * 获取包工头项目任务进度详细信息 + */ + @ApiOperation("获取包工头项目任务进度详细信息") + @PreAuthorize("@ss.hasPermi('bgt:progress:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iBgtProjectTaskProgressService.queryById(id)); + } + + /** + * 新增包工头项目任务进度 + */ + @ApiOperation("新增包工头项目任务进度") + @PreAuthorize("@ss.hasPermi('bgt:progress:add')") + @Log(title = "包工头项目任务进度", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody BgtProjectTaskProgress bo) { + return toAjax(iBgtProjectTaskProgressService.insert(bo) ? 1 : 0); + } + + /** + * 修改包工头项目任务进度 + */ + @ApiOperation("修改包工头项目任务进度") + @PreAuthorize("@ss.hasPermi('bgt:progress:edit')") + @Log(title = "包工头项目任务进度", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody BgtProjectTaskProgress bo) { + return toAjax(iBgtProjectTaskProgressService.update(bo) ? 1 : 0); + } + + /** + * 删除包工头项目任务进度 + */ + @ApiOperation("删除包工头项目任务进度") + @PreAuthorize("@ss.hasPermi('bgt:progress:remove')") + @Log(title = "包工头项目任务进度" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iBgtProjectTaskProgressService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskApplyController.java new file mode 100644 index 0000000..1c1a36c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskApplyController.java @@ -0,0 +1,47 @@ +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.fbs.domain.FbsProjectTaskApply; +import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; +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 = {"分包商项目任务申请管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/app/fbs/apply") +public class AppFbsProjectTaskApplyController extends BaseController { + + private final IFbsProjectTaskApplyService iFbsProjectTaskApplyService; + + + /** + * 新增分包商项目任务申请 + */ + @ApiOperation("App申请承接") + @Log(title = "App项目任务申请承接", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody FbsProjectTaskApply bo) { + return toAjax(iFbsProjectTaskApplyService.insert(bo) ? 1 : 0); + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java new file mode 100644 index 0000000..5c2d371 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/AppFbsProjectTaskController.java @@ -0,0 +1,53 @@ +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.AppTaskDTO; +import com.ruoyi.fbs.domain.vo.AppTaskDetailVO; +import com.ruoyi.fbs.domain.vo.AppTaskVO; +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.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 = {"分包商项目任务管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/app/fbs/task") +public class AppFbsProjectTaskController extends BaseController { + + private final IFbsProjectTaskService iFbsProjectTaskService; + + /** + * app项目任务列表 + */ + @ApiOperation("App包工头任务列表") + @GetMapping("/list") + public TableDataInfo list(@Validated AppTaskDTO dto) { + return iFbsProjectTaskService.appQueryPageList(dto); + } + + + @ApiOperation("App获取项目任务详细信息") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iFbsProjectTaskService.appQueryById(id)); + } + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/FbsProjectTaskApplyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/FbsProjectTaskApplyController.java new file mode 100644 index 0000000..4c5f2d4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/FbsProjectTaskApplyController.java @@ -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.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo; +import com.ruoyi.fbs.domain.FbsProjectTaskApply; +import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; +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 = "分包商项目任务申请控制器", tags = {"分包商项目任务申请管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fbs/apply") +public class FbsProjectTaskApplyController extends BaseController { + + private final IFbsProjectTaskApplyService iFbsProjectTaskApplyService; + + /** + * 查询分包商项目任务申请列表 + */ + @ApiOperation("查询分包商项目任务申请列表") + @PreAuthorize("@ss.hasPermi('fbs:apply:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated FbsProjectTaskApplyQueryBo bo) { + return iFbsProjectTaskApplyService.queryPageList(bo); + } + + /** + * 导出分包商项目任务申请列表 + */ + @ApiOperation("导出分包商项目任务申请列表") + @PreAuthorize("@ss.hasPermi('fbs:apply:export')") + @Log(title = "分包商项目任务申请", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated FbsProjectTaskApplyQueryBo bo) { + List list = iFbsProjectTaskApplyService.queryList(bo); + ExcelUtil util = new ExcelUtil(FbsProjectTaskApply.class); + return util.exportExcel(list, "分包商项目任务申请"); + } + + /** + * 获取分包商项目任务申请详细信息 + */ + @ApiOperation("获取分包商项目任务申请详细信息") + @PreAuthorize("@ss.hasPermi('fbs:apply:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iFbsProjectTaskApplyService.queryById(id)); + } + + /** + * 新增分包商项目任务申请 + */ + @ApiOperation("新增分包商项目任务申请") + @PreAuthorize("@ss.hasPermi('fbs:apply:add')") + @Log(title = "分包商项目任务申请", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody FbsProjectTaskApply bo) { + return toAjax(iFbsProjectTaskApplyService.insert(bo) ? 1 : 0); + } + + /** + * 修改分包商项目任务申请 + */ + @ApiOperation("修改分包商项目任务申请") + @PreAuthorize("@ss.hasPermi('fbs:apply:edit')") + @Log(title = "分包商项目任务申请", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody FbsProjectTaskApply bo) { + return toAjax(iFbsProjectTaskApplyService.update(bo) ? 1 : 0); + } + + /** + * 删除分包商项目任务申请 + */ + @ApiOperation("删除分包商项目任务申请") + @PreAuthorize("@ss.hasPermi('fbs:apply:remove')") + @Log(title = "分包商项目任务申请" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iFbsProjectTaskApplyService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/FbsProjectTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/FbsProjectTaskController.java new file mode 100644 index 0000000..c941b14 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/fbs/FbsProjectTaskController.java @@ -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.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; +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.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 = "分包商项目任务控制器", tags = {"分包商项目任务管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fbs/task") +public class FbsProjectTaskController extends BaseController { + + private final IFbsProjectTaskService iFbsProjectTaskService; + + /** + * 查询分包商项目任务列表 + */ + @ApiOperation("查询分包商项目任务列表") + @PreAuthorize("@ss.hasPermi('common:task:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated FbsProjectTaskQueryBo bo) { + return iFbsProjectTaskService.queryPageList(bo); + } + + /** + * 导出分包商项目任务列表 + */ + @ApiOperation("导出分包商项目任务列表") + @PreAuthorize("@ss.hasPermi('common:task:export')") + @Log(title = "分包商项目任务", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated FbsProjectTaskQueryBo bo) { + List list = iFbsProjectTaskService.queryList(bo); + ExcelUtil util = new ExcelUtil(FbsProjectTask.class); + return util.exportExcel(list, "分包商项目任务"); + } + + /** + * 获取分包商项目任务详细信息 + */ + @ApiOperation("获取分包商项目任务详细信息") + @PreAuthorize("@ss.hasPermi('common:task:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iFbsProjectTaskService.queryById(id)); + } + + /** + * 新增分包商项目任务 + */ + @ApiOperation("新增分包商项目任务") + @PreAuthorize("@ss.hasPermi('common:task:add')") + @Log(title = "分包商项目任务", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody FbsProjectTask bo) { + return toAjax(iFbsProjectTaskService.insert(bo) ? 1 : 0); + } + + /** + * 修改分包商项目任务 + */ + @ApiOperation("修改分包商项目任务") + @PreAuthorize("@ss.hasPermi('common:task:edit')") + @Log(title = "分包商项目任务", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody FbsProjectTask bo) { + return toAjax(iFbsProjectTaskService.update(bo) ? 1 : 0); + } + + /** + * 删除分包商项目任务 + */ + @ApiOperation("删除分包商项目任务") + @PreAuthorize("@ss.hasPermi('common:task:remove')") + @Log(title = "分包商项目任务" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iFbsProjectTaskService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectController.java new file mode 100644 index 0000000..7c3d2ea --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectController.java @@ -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.ZbfProjectQueryBo; +import com.ruoyi.zbf.domain.ZbfProject; +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.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 = "总包方项目控制器", tags = {"总包方项目管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/zbf/project") +public class ZbfProjectController extends BaseController { + + private final IZbfProjectService iZbfProjectService; + + /** + * 查询总包方项目列表 + */ + @ApiOperation("查询总包方项目列表") + @PreAuthorize("@ss.hasPermi('common:project:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated ZbfProjectQueryBo bo) { + return iZbfProjectService.queryPageList(bo); + } + + /** + * 导出总包方项目列表 + */ + @ApiOperation("导出总包方项目列表") + @PreAuthorize("@ss.hasPermi('common:project:export')") + @Log(title = "总包方项目", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated ZbfProjectQueryBo bo) { + List list = iZbfProjectService.queryList(bo); + ExcelUtil util = new ExcelUtil(ZbfProject.class); + return util.exportExcel(list, "总包方项目"); + } + + /** + * 获取总包方项目详细信息 + */ + @ApiOperation("获取总包方项目详细信息") + @PreAuthorize("@ss.hasPermi('common:project:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iZbfProjectService.queryById(id)); + } + + /** + * 新增总包方项目 + */ + @ApiOperation("新增总包方项目") + @PreAuthorize("@ss.hasPermi('common:project:add')") + @Log(title = "总包方项目", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody ZbfProject bo) { + return toAjax(iZbfProjectService.insert(bo) ? 1 : 0); + } + + /** + * 修改总包方项目 + */ + @ApiOperation("修改总包方项目") + @PreAuthorize("@ss.hasPermi('common:project:edit')") + @Log(title = "总包方项目", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody ZbfProject bo) { + return toAjax(iZbfProjectService.update(bo) ? 1 : 0); + } + + /** + * 删除总包方项目 + */ + @ApiOperation("删除总包方项目") + @PreAuthorize("@ss.hasPermi('common:project:remove')") + @Log(title = "总包方项目" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iZbfProjectService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSectionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSectionController.java new file mode 100644 index 0000000..0230ec6 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSectionController.java @@ -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.ZbfProjectSectionQueryBo; +import com.ruoyi.zbf.domain.ZbfProjectSection; +import com.ruoyi.zbf.service.IZbfProjectSectionService; +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 = "总包方项目标段控制器", tags = {"总包方项目标段管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/zbf/section") +public class ZbfProjectSectionController extends BaseController { + + private final IZbfProjectSectionService iZbfProjectSectionService; + + /** + * 查询总包方项目标段列表 + */ + @ApiOperation("查询总包方项目标段列表") + @PreAuthorize("@ss.hasPermi('common:section:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated ZbfProjectSectionQueryBo bo) { + return iZbfProjectSectionService.queryPageList(bo); + } + + /** + * 导出总包方项目标段列表 + */ + @ApiOperation("导出总包方项目标段列表") + @PreAuthorize("@ss.hasPermi('common:section:export')") + @Log(title = "总包方项目标段", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated ZbfProjectSectionQueryBo bo) { + List list = iZbfProjectSectionService.queryList(bo); + ExcelUtil util = new ExcelUtil(ZbfProjectSection.class); + return util.exportExcel(list, "总包方项目标段"); + } + + /** + * 获取总包方项目标段详细信息 + */ + @ApiOperation("获取总包方项目标段详细信息") + @PreAuthorize("@ss.hasPermi('common:section:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return AjaxResult.success(iZbfProjectSectionService.queryById(id)); + } + + /** + * 新增总包方项目标段 + */ + @ApiOperation("新增总包方项目标段") + @PreAuthorize("@ss.hasPermi('common:section:add')") + @Log(title = "总包方项目标段", businessType = BusinessType.INSERT) + @RepeatSubmit + @PostMapping() + public AjaxResult add(@Validated @RequestBody ZbfProjectSection bo) { + return toAjax(iZbfProjectSectionService.insert(bo) ? 1 : 0); + } + + /** + * 修改总包方项目标段 + */ + @ApiOperation("修改总包方项目标段") + @PreAuthorize("@ss.hasPermi('common:section:edit')") + @Log(title = "总包方项目标段", businessType = BusinessType.UPDATE) + @RepeatSubmit + @PutMapping() + public AjaxResult edit(@Validated @RequestBody ZbfProjectSection bo) { + return toAjax(iZbfProjectSectionService.update(bo) ? 1 : 0); + } + + /** + * 删除总包方项目标段 + */ + @ApiOperation("删除总包方项目标段") + @PreAuthorize("@ss.hasPermi('common:section:remove')") + @Log(title = "总包方项目标段" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iZbfProjectSectionService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSubcontractingController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSubcontractingController.java new file mode 100644 index 0000000..80418ab --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zbf/ZbfProjectSubcontractingController.java @@ -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.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 = "总包方项目分包控制器", tags = {"总包方项目分包管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/zbf/subcontracting") +public class ZbfProjectSubcontractingController extends BaseController { + + private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService; + + /** + * 查询总包方项目分包列表 + */ + @ApiOperation("查询总包方项目分包列表") + @PreAuthorize("@ss.hasPermi('common:subcontracting:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated ZbfProjectSubcontractingQueryBo bo) { + return iZbfProjectSubcontractingService.queryPageList(bo); + } + + /** + * 导出总包方项目分包列表 + */ + @ApiOperation("导出总包方项目分包列表") + @PreAuthorize("@ss.hasPermi('common:subcontracting:export')") + @Log(title = "总包方项目分包", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(@Validated ZbfProjectSubcontractingQueryBo bo) { + List list = iZbfProjectSubcontractingService.queryList(bo); + ExcelUtil util = new ExcelUtil(ZbfProjectSubcontracting.class); + return util.exportExcel(list, "总包方项目分包"); + } + + /** + * 获取总包方项目分包详细信息 + */ + @ApiOperation("获取总包方项目分包详细信息") + @PreAuthorize("@ss.hasPermi('common:subcontracting:query')") + @GetMapping("/{id}") + public AjaxResult 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 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 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 remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iZbfProjectSubcontractingService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectRecruitApplyQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectRecruitApplyQueryBo.java new file mode 100644 index 0000000..b01c56e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectRecruitApplyQueryBo.java @@ -0,0 +1,49 @@ +package com.ruoyi.bgt.bo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.LocalDate; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 包工头招工申请分页查询对象 bgt_project_recruit_apply + * + * @author ruoyi + * @date 2025-02-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("包工头招工申请分页查询对象") +public class BgtProjectRecruitApplyQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 招工ID */ + @ApiModelProperty("招工ID") + private Long recruitId; + /** 务工者用户ID */ + @ApiModelProperty("务工者用户ID") + private Long userId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectRecruitQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectRecruitQueryBo.java new file mode 100644 index 0000000..3710afa --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectRecruitQueryBo.java @@ -0,0 +1,75 @@ +package com.ruoyi.bgt.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 包工头招工分页查询对象 bgt_project_recruit + * + * @author ruoyi + * @date 2025-02-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("包工头招工分页查询对象") +public class BgtProjectRecruitQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 项目ID */ + @ApiModelProperty("项目ID") + private Long projectId; + /** 标段ID */ + @ApiModelProperty("标段ID") + private Long sectionId; + /** 分包ID */ + @ApiModelProperty("分包ID") + private Long subId; + /** 任务ID */ + @ApiModelProperty("任务ID") + private Long taskId; + /** 招工名称 */ + @ApiModelProperty("招工名称") + private String recruitName; + /** 招工地址 */ + @ApiModelProperty("招工地址") + private String recruitAddress; + /** 招工金额 */ + @ApiModelProperty("招工金额") + private Long recruitAmount; + /** 招工数量 */ + @ApiModelProperty("招工数量") + private Long recruitStaffNum; + /** 招工开始时间 */ + @ApiModelProperty("招工开始时间") + private String recruitBeginTime; + /** 联系人 */ + @ApiModelProperty("联系人") + private String recruitContactPerson; + /** 联系电话 */ + @ApiModelProperty("联系电话") + private String recruitContactPhone; + /** 招工描述 */ + @ApiModelProperty("招工描述") + private String subDescribe; + /** 招工要求 */ + @ApiModelProperty("招工要求") + private String recruitRequirement; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectTaskProgressQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectTaskProgressQueryBo.java new file mode 100644 index 0000000..78795c3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/bo/BgtProjectTaskProgressQueryBo.java @@ -0,0 +1,72 @@ +package com.ruoyi.bgt.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 包工头项目任务进度分页查询对象 bgt_project_task_progress + * + * @author ruoyi + * @date 2025-02-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("包工头项目任务进度分页查询对象") +public class BgtProjectTaskProgressQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 项目ID */ + @ApiModelProperty("项目ID") + private Long projectId; + /** 标段ID */ + @ApiModelProperty("标段ID") + private Long sectionId; + /** 分包ID */ + @ApiModelProperty("分包ID") + private Long subId; + /** 任务ID */ + @ApiModelProperty("任务ID") + private Long taskId; + /** 进度名称 */ + @ApiModelProperty("进度名称") + private String progressName; + /** 负责人 */ + @ApiModelProperty("负责人") + private String director; + /** 上传人 */ + @ApiModelProperty("上传人") + private String uploader; + /** 进度 */ + @ApiModelProperty("进度") + private Long progress; + /** 进度描述 */ + @ApiModelProperty("进度描述") + private String progressDescribe; + /** 进度附件 */ + @ApiModelProperty("进度附件") + private String progressAnnex; + /** 审核状态(1审核中 2已审核 3未审核) */ + @ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") + private String auditStatus; + /** 审核人Id */ + @ApiModelProperty("审核人Id") + private Long reviewerId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectRecruit.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectRecruit.java new file mode 100644 index 0000000..7235106 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectRecruit.java @@ -0,0 +1,134 @@ +package com.ruoyi.bgt.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 包工头招工对象 bgt_project_recruit + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("bgt_project_recruit") +@ApiModel("包工头招工视图对象") +public class BgtProjectRecruit implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id") + private Long id; + + /** 项目ID */ + @Excel(name = "项目ID") + @ApiModelProperty("项目ID") + private Long projectId; + + /** 标段ID */ + @Excel(name = "标段ID") + @ApiModelProperty("标段ID") + private Long sectionId; + + /** 分包ID */ + @Excel(name = "分包ID") + @ApiModelProperty("分包ID") + private Long subId; + + /** 任务ID */ + @Excel(name = "任务ID") + @ApiModelProperty("任务ID") + private Long taskId; + + /** 招工名称 */ + @Excel(name = "招工名称") + @ApiModelProperty("招工名称") + private String recruitName; + + /** 招工地址 */ + @Excel(name = "招工地址") + @ApiModelProperty("招工地址") + private String recruitAddress; + + /** 招工金额 */ + @Excel(name = "招工金额") + @ApiModelProperty("招工金额") + private Long recruitAmount; + + /** 招工数量 */ + @Excel(name = "招工数量") + @ApiModelProperty("招工数量") + private Long recruitStaffNum; + + /** 招工开始时间 */ + @Excel(name = "招工开始时间") + @ApiModelProperty("招工开始时间") + private String recruitBeginTime; + + /** 联系人 */ + @Excel(name = "联系人") + @ApiModelProperty("联系人") + private String recruitContactPerson; + + /** 联系电话 */ + @Excel(name = "联系电话") + @ApiModelProperty("联系电话") + private String recruitContactPhone; + + /** 招工描述 */ + @Excel(name = "招工描述") + @ApiModelProperty("招工描述") + private String subDescribe; + + /** 招工要求 */ + @Excel(name = "招工要求") + @ApiModelProperty("招工要求") + private String recruitRequirement; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + @TableLogic + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectRecruitApply.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectRecruitApply.java new file mode 100644 index 0000000..42ff9cf --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectRecruitApply.java @@ -0,0 +1,79 @@ +package com.ruoyi.bgt.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 包工头招工申请对象 bgt_project_recruit_apply + * + * @author ruoyi + * @date 2025-02-18 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("bgt_project_recruit_apply") +@ApiModel("包工头招工申请视图对象") +public class BgtProjectRecruitApply implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id") + private Long id; + + /** 招工ID */ + @Excel(name = "招工ID") + @ApiModelProperty("招工ID") + private Long recruitId; + + /** 务工者用户ID */ + @Excel(name = "务工者用户ID") + @ApiModelProperty("务工者用户ID") + private Long userId; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + @TableLogic + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectTaskProgress.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectTaskProgress.java new file mode 100644 index 0000000..1240b7c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/BgtProjectTaskProgress.java @@ -0,0 +1,128 @@ +package com.ruoyi.bgt.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 包工头项目任务进度对象 bgt_project_task_progress + * + * @author ruoyi + * @date 2025-02-18 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("bgt_project_task_progress") +@ApiModel("包工头项目任务进度视图对象") +public class BgtProjectTaskProgress implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** 项目ID */ + @Excel(name = "项目ID") + @ApiModelProperty("项目ID") + private Long projectId; + + /** 标段ID */ + @Excel(name = "标段ID") + @ApiModelProperty("标段ID") + private Long sectionId; + + /** 分包ID */ + @Excel(name = "分包ID") + @ApiModelProperty("分包ID") + private Long subId; + + /** 任务ID */ + @Excel(name = "任务ID") + @ApiModelProperty("任务ID") + private Long taskId; + + /** 进度名称 */ + @Excel(name = "进度名称") + @ApiModelProperty("进度名称") + private String progressName; + + /** 负责人 */ + @Excel(name = "负责人") + @ApiModelProperty("负责人") + private String director; + + /** 上传人 */ + @Excel(name = "上传人") + @ApiModelProperty("上传人") + private String uploader; + + /** 进度 */ + @Excel(name = "进度") + @ApiModelProperty("进度") + private Long progress; + + /** 进度描述 */ + @Excel(name = "进度描述") + @ApiModelProperty("进度描述") + private String progressDescribe; + + /** 进度附件 */ + @Excel(name = "进度附件") + @ApiModelProperty("进度附件") + private String progressAnnex; + + /** 审核状态(1审核中 2已审核 3未审核) */ + @Excel(name = "审核状态" , readConverterExp = "1=审核中,2=已审核,3=未审核") + @ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") + private String auditStatus; + + /** 审核人Id */ + @Excel(name = "审核人Id") + @ApiModelProperty("审核人Id") + private Long reviewerId; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtProjectRecruitApplyQueryDTO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtProjectRecruitApplyQueryDTO.java new file mode 100644 index 0000000..687fbfb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtProjectRecruitApplyQueryDTO.java @@ -0,0 +1,12 @@ +package com.ruoyi.bgt.domain.dto; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BgtProjectRecruitApplyQueryDTO extends BaseEntity { + + @ApiModelProperty("招工ID") + private Long recruitId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtProjectTaskProgressQueryDTO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtProjectTaskProgressQueryDTO.java new file mode 100644 index 0000000..c1c4282 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/BgtProjectTaskProgressQueryDTO.java @@ -0,0 +1,32 @@ +package com.ruoyi.bgt.domain.dto; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 包工头项目任务进度分页查询对象 bgt_project_task_progress + * + * @author ruoyi + * @date 2025-02-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("App包工头项目任务进度分页查询对象") +public class BgtProjectTaskProgressQueryDTO extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + /** 审核状态(1审核中 2已审核 3未审核) */ + @ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") + private String auditStatus; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java index 1482265..06ce9ed 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/dto/UserRealNameAuthenticationDTO.java @@ -1,6 +1,7 @@ package com.ruoyi.bgt.domain.dto; +import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.domain.dto.AnnexDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -21,7 +22,7 @@ import java.util.List; @NoArgsConstructor @Accessors(chain = true) @ApiModel("包工头实名认证对象") -public class UserRealNameAuthenticationDTO { +public class UserRealNameAuthenticationDTO extends BaseEntity { @ApiModelProperty("主键") @NotBlank(message = "主键不能为空") diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectRecruitApplyVO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectRecruitApplyVO.java new file mode 100644 index 0000000..fc0d203 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectRecruitApplyVO.java @@ -0,0 +1,40 @@ +package com.ruoyi.bgt.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 包工头招工申请对象 bgt_project_recruit_apply + * + * @author ruoyi + * @date 2025-02-18 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("App包工头招工申请视图对象") +public class BgtProjectRecruitApplyVO implements Serializable { + + private static final long serialVersionUID=1L; + + @ApiModelProperty("务工者用户ID") + private Long userId; + + @ApiModelProperty("姓名") + private String username; + + @ApiModelProperty("联系电话") + private String phone; + + @ApiModelProperty("评分") + private Double score; + + @ApiModelProperty("头像") + private String avatarName; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectRecruitVO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectRecruitVO.java new file mode 100644 index 0000000..f8a3cf4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectRecruitVO.java @@ -0,0 +1,51 @@ +package com.ruoyi.bgt.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 包工头招工对象 bgt_project_recruit + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("App包工头招工视图对象") +public class BgtProjectRecruitVO implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("招工名称") + private String recruitName; + + @ApiModelProperty("招工地址") + private String recruitAddress; + + @ApiModelProperty("招工金额") + private Long recruitAmount; + + @ApiModelProperty("招工数量") + private Long recruitStaffNum; + + @ApiModelProperty("招工要求") + private String recruitRequirement; + + @ApiModelProperty("发布时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDateTime createTime; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectTaskProgressDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectTaskProgressDetailVO.java new file mode 100644 index 0000000..de52c27 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectTaskProgressDetailVO.java @@ -0,0 +1,73 @@ +package com.ruoyi.bgt.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 包工头项目任务进度对象 bgt_project_task_progress + * + * @author ruoyi + * @date 2025-02-18 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("App包工头项目任务进度详情对象") +public class BgtProjectTaskProgressDetailVO implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("项目名") + private String projectName; + + @ApiModelProperty("任务名") + private String taskName; + + @ApiModelProperty("任务地址") + private String taskAddress; + + @ApiModelProperty("进度名称") + private String progressName; + + @ApiModelProperty("负责人") + private String director; + + @ApiModelProperty("上传人") + private String uploader; + + @ApiModelProperty("进度") + private Long progress; + + @ApiModelProperty("用工数量") + private Long taskStaffNum; + + @ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") + private String auditStatus; + + @ApiModelProperty("上传时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime createTime; + + @ApiModelProperty("进度描述") + private String progressDescribe; + + @ApiModelProperty("进度附件") + private String progressAnnex; + + @ApiModelProperty("备注") + private String remark; + + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectTaskProgressVO.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectTaskProgressVO.java new file mode 100644 index 0000000..6ff1071 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/domain/vo/BgtProjectTaskProgressVO.java @@ -0,0 +1,56 @@ +package com.ruoyi.bgt.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 包工头项目任务进度对象 bgt_project_task_progress + * + * @author ruoyi + * @date 2025-02-18 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("App包工头项目任务进度视图对象") +public class BgtProjectTaskProgressVO implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("项目名") + private String projectName; + + @ApiModelProperty("任务名") + private String taskName; + + @ApiModelProperty("进度名称") + private String progressName; + + @ApiModelProperty("上传人") + private String uploader; + + @ApiModelProperty("进度") + private Long progress; + + @ApiModelProperty("用工数量") + private Long taskStaffNum; + + @ApiModelProperty("审核状态(1审核中 2已审核 3未审核)") + private String auditStatus; + + @ApiModelProperty("上传时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime createTime; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitApplyMapper.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitApplyMapper.java new file mode 100644 index 0000000..f1cbddc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitApplyMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.bgt.mapper; + +import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import org.apache.ibatis.annotations.CacheNamespace; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 包工头招工申请Mapper接口 + * + * @author ruoyi + * @date 2025-02-18 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface BgtProjectRecruitApplyMapper extends BaseMapperPlus { + + List appQueryList(@Param("dto") BgtProjectRecruitApplyQueryDTO dto); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java new file mode 100644 index 0000000..b1830f1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectRecruitMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.bgt.mapper; + +import com.ruoyi.bgt.domain.BgtProjectRecruit; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import org.apache.ibatis.annotations.CacheNamespace; + +/** + * 包工头招工Mapper接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface BgtProjectRecruitMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java new file mode 100644 index 0000000..cb675a2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/mapper/BgtProjectTaskProgressMapper.java @@ -0,0 +1,23 @@ +package com.ruoyi.bgt.mapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.bgt.domain.BgtProjectTaskProgress; +import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO; +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import org.apache.ibatis.annotations.CacheNamespace; +import org.apache.ibatis.annotations.Param; + +/** + * 包工头项目任务进度Mapper接口 + * + * @author ruoyi + * @date 2025-02-18 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface BgtProjectTaskProgressMapper extends BaseMapperPlus { + + Page appQueryPageList(@Param("page") Page page, @Param("dto") BgtProjectTaskProgressQueryDTO dto); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java new file mode 100644 index 0000000..3d8b0bc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitApplyService.java @@ -0,0 +1,63 @@ +package com.ruoyi.bgt.service; + +import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo; +import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; + +import java.util.Collection; +import java.util.List; + +/** + * 包工头招工申请Service接口 + * + * @author ruoyi + * @date 2025-02-18 + */ +public interface IBgtProjectRecruitApplyService extends IServicePlus { + /** + * 查询单个 + * @return + */ + BgtProjectRecruitApply queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(BgtProjectRecruitApplyQueryBo bo); + + /** + * 查询列表 + */ + List queryList(BgtProjectRecruitApplyQueryBo bo); + + /** + * 根据新增业务对象插入包工头招工申请 + * @param bo 包工头招工申请新增业务对象 + * @return + */ + Boolean insert(BgtProjectRecruitApply bo); + + /** + * 根据编辑业务对象修改包工头招工申请 + * @param bo 包工头招工申请编辑业务对象 + * @return + */ + Boolean update(BgtProjectRecruitApply bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 查询列表 + */ + List appQueryList(BgtProjectRecruitApplyQueryDTO dto); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java new file mode 100644 index 0000000..ea03234 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectRecruitService.java @@ -0,0 +1,55 @@ +package com.ruoyi.bgt.service; + +import com.ruoyi.bgt.domain.BgtProjectRecruit; +import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo; +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; + +import java.util.Collection; +import java.util.List; + +/** + * 包工头招工Service接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +public interface IBgtProjectRecruitService extends IServicePlus { + /** + * 查询单个 + * @return + */ + BgtProjectRecruit queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(BgtProjectRecruitQueryBo bo); + + /** + * 查询列表 + */ + List queryList(BgtProjectRecruitQueryBo bo); + + /** + * 根据新增业务对象插入包工头招工 + * @param bo 包工头招工新增业务对象 + * @return + */ + Boolean insert(BgtProjectRecruit bo); + + /** + * 根据编辑业务对象修改包工头招工 + * @param bo 包工头招工编辑业务对象 + * @return + */ + Boolean update(BgtProjectRecruit bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java new file mode 100644 index 0000000..77af293 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/IBgtProjectTaskProgressService.java @@ -0,0 +1,70 @@ +package com.ruoyi.bgt.service; + +import com.ruoyi.bgt.bo.BgtProjectTaskProgressQueryBo; +import com.ruoyi.bgt.domain.BgtProjectTaskProgress; +import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO; +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; + +import java.util.Collection; +import java.util.List; + +/** + * 包工头项目任务进度Service接口 + * + * @author ruoyi + * @date 2025-02-18 + */ +public interface IBgtProjectTaskProgressService extends IServicePlus { + /** + * 查询单个 + * @return + */ + BgtProjectTaskProgress queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(BgtProjectTaskProgressQueryBo bo); + + /** + * 查询列表 + */ + List queryList(BgtProjectTaskProgressQueryBo bo); + + /** + * 根据新增业务对象插入包工头项目任务进度 + * @param bo 包工头项目任务进度新增业务对象 + * @return + */ + Boolean insert(BgtProjectTaskProgress bo); + + /** + * 根据编辑业务对象修改包工头项目任务进度 + * @param bo 包工头项目任务进度编辑业务对象 + * @return + */ + Boolean update(BgtProjectTaskProgress bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 查询列表 + */ + TableDataInfo appQueryPageList(BgtProjectTaskProgressQueryDTO dto); + + /** + * app查询单个 + * @return + */ + BgtProjectTaskProgressDetailVO appQueryById(Long id); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java new file mode 100644 index 0000000..a756fa6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitApplyServiceImpl.java @@ -0,0 +1,91 @@ +package com.ruoyi.bgt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.bgt.bo.BgtProjectRecruitApplyQueryBo; +import com.ruoyi.bgt.domain.BgtProjectRecruitApply; +import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO; +import com.ruoyi.bgt.mapper.BgtProjectRecruitApplyMapper; +import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +/** + * 包工头招工申请Service业务层处理 + * + * @author ruoyi + * @date 2025-02-18 + */ +@Service +public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl implements IBgtProjectRecruitApplyService { + + @Override + public BgtProjectRecruitApply queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(BgtProjectRecruitApplyQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(BgtProjectRecruitApplyQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(BgtProjectRecruitApplyQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getRecruitId() != null, BgtProjectRecruitApply::getRecruitId, bo.getRecruitId()); + lqw.eq(bo.getUserId() != null, BgtProjectRecruitApply::getUserId, bo.getUserId()); + return lqw; + } + + @Override + public Boolean insert(BgtProjectRecruitApply bo) { + BgtProjectRecruitApply add = BeanUtil.toBean(bo, BgtProjectRecruitApply.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(BgtProjectRecruitApply bo) { + BgtProjectRecruitApply update = BeanUtil.toBean(bo, BgtProjectRecruitApply.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(BgtProjectRecruitApply entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } + + @Override + public List appQueryList(BgtProjectRecruitApplyQueryDTO dto) { + return Collections.emptyList(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java new file mode 100644 index 0000000..07ffeed --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectRecruitServiceImpl.java @@ -0,0 +1,95 @@ +package com.ruoyi.bgt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo; +import com.ruoyi.bgt.domain.BgtProjectRecruit; +import com.ruoyi.bgt.mapper.BgtProjectRecruitMapper; +import com.ruoyi.bgt.service.IBgtProjectRecruitService; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 包工头招工Service业务层处理 + * + * @author ruoyi + * @date 2025-02-17 + */ +@Service +public class BgtProjectRecruitServiceImpl extends ServicePlusImpl implements IBgtProjectRecruitService { + + @Override + public BgtProjectRecruit queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(BgtProjectRecruitQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(BgtProjectRecruitQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(BgtProjectRecruitQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getProjectId() != null, BgtProjectRecruit::getProjectId, bo.getProjectId()); + lqw.eq(bo.getSectionId() != null, BgtProjectRecruit::getSectionId, bo.getSectionId()); + lqw.eq(bo.getSubId() != null, BgtProjectRecruit::getSubId, bo.getSubId()); + lqw.eq(bo.getTaskId() != null, BgtProjectRecruit::getTaskId, bo.getTaskId()); + lqw.like(StrUtil.isNotBlank(bo.getRecruitName()), BgtProjectRecruit::getRecruitName, bo.getRecruitName()); + lqw.eq(StrUtil.isNotBlank(bo.getRecruitAddress()), BgtProjectRecruit::getRecruitAddress, bo.getRecruitAddress()); + lqw.eq(bo.getRecruitAmount() != null, BgtProjectRecruit::getRecruitAmount, bo.getRecruitAmount()); + lqw.eq(bo.getRecruitStaffNum() != null, BgtProjectRecruit::getRecruitStaffNum, bo.getRecruitStaffNum()); + lqw.eq(StrUtil.isNotBlank(bo.getRecruitBeginTime()), BgtProjectRecruit::getRecruitBeginTime, bo.getRecruitBeginTime()); + lqw.eq(StrUtil.isNotBlank(bo.getRecruitContactPerson()), BgtProjectRecruit::getRecruitContactPerson, bo.getRecruitContactPerson()); + lqw.eq(StrUtil.isNotBlank(bo.getRecruitContactPhone()), BgtProjectRecruit::getRecruitContactPhone, bo.getRecruitContactPhone()); + lqw.eq(StrUtil.isNotBlank(bo.getSubDescribe()), BgtProjectRecruit::getSubDescribe, bo.getSubDescribe()); + lqw.eq(StrUtil.isNotBlank(bo.getRecruitRequirement()), BgtProjectRecruit::getRecruitRequirement, bo.getRecruitRequirement()); + return lqw; + } + + @Override + public Boolean insert(BgtProjectRecruit bo) { + BgtProjectRecruit add = BeanUtil.toBean(bo, BgtProjectRecruit.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(BgtProjectRecruit bo) { + BgtProjectRecruit update = BeanUtil.toBean(bo, BgtProjectRecruit.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(BgtProjectRecruit entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java new file mode 100644 index 0000000..b7de61c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtProjectTaskProgressServiceImpl.java @@ -0,0 +1,132 @@ +package com.ruoyi.bgt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.bgt.bo.BgtProjectTaskProgressQueryBo; +import com.ruoyi.bgt.domain.BgtProjectTaskProgress; +import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO; +import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO; +import com.ruoyi.bgt.mapper.BgtProjectTaskProgressMapper; +import com.ruoyi.bgt.service.IBgtProjectTaskProgressService; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.fbs.domain.FbsProjectTask; +import com.ruoyi.fbs.service.IFbsProjectTaskService; +import com.ruoyi.zbf.domain.ZbfProject; +import com.ruoyi.zbf.service.IZbfProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 包工头项目任务进度Service业务层处理 + * + * @author ruoyi + * @date 2025-02-18 + */ +@Service +public class BgtProjectTaskProgressServiceImpl extends ServicePlusImpl implements IBgtProjectTaskProgressService { + + @Autowired + private IZbfProjectService zbfProjectService; + + @Autowired + private IFbsProjectTaskService fbsProjectTaskService; + + + + @Override + public BgtProjectTaskProgress queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(BgtProjectTaskProgressQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(BgtProjectTaskProgressQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(BgtProjectTaskProgressQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getProjectId() != null, BgtProjectTaskProgress::getProjectId, bo.getProjectId()); + lqw.eq(bo.getSectionId() != null, BgtProjectTaskProgress::getSectionId, bo.getSectionId()); + lqw.eq(bo.getSubId() != null, BgtProjectTaskProgress::getSubId, bo.getSubId()); + lqw.eq(bo.getTaskId() != null, BgtProjectTaskProgress::getTaskId, bo.getTaskId()); + lqw.like(StrUtil.isNotBlank(bo.getProgressName()), BgtProjectTaskProgress::getProgressName, bo.getProgressName()); + lqw.eq(StrUtil.isNotBlank(bo.getDirector()), BgtProjectTaskProgress::getDirector, bo.getDirector()); + lqw.eq(StrUtil.isNotBlank(bo.getUploader()), BgtProjectTaskProgress::getUploader, bo.getUploader()); + lqw.eq(bo.getProgress() != null, BgtProjectTaskProgress::getProgress, bo.getProgress()); + lqw.eq(StrUtil.isNotBlank(bo.getProgressDescribe()), BgtProjectTaskProgress::getProgressDescribe, bo.getProgressDescribe()); + lqw.eq(StrUtil.isNotBlank(bo.getProgressAnnex()), BgtProjectTaskProgress::getProgressAnnex, bo.getProgressAnnex()); + lqw.eq(StrUtil.isNotBlank(bo.getAuditStatus()), BgtProjectTaskProgress::getAuditStatus, bo.getAuditStatus()); + lqw.eq(bo.getReviewerId() != null, BgtProjectTaskProgress::getReviewerId, bo.getReviewerId()); + return lqw; + } + + @Override + public Boolean insert(BgtProjectTaskProgress bo) { + BgtProjectTaskProgress add = BeanUtil.toBean(bo, BgtProjectTaskProgress.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(BgtProjectTaskProgress bo) { + BgtProjectTaskProgress update = BeanUtil.toBean(bo, BgtProjectTaskProgress.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(BgtProjectTaskProgress entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } + + @Override + public TableDataInfo appQueryPageList(BgtProjectTaskProgressQueryDTO dto) { + Page queryDTOPage = new Page<>(); + queryDTOPage.setCurrent(dto.getPageNum()); + queryDTOPage.setSize(dto.getPageSize()); + Page queryVOPage = baseMapper.appQueryPageList(queryDTOPage, dto); + return PageUtils.buildDataInfo(queryVOPage); + } + + @Override + public BgtProjectTaskProgressDetailVO appQueryById(Long id) { + BgtProjectTaskProgress progress = getById(id); + BgtProjectTaskProgressDetailVO bean = BeanUtil.toBean(progress, BgtProjectTaskProgressDetailVO.class); + ZbfProject project = zbfProjectService.getById(progress.getProjectId()); + bean.setProjectName(project.getProjectName()); + FbsProjectTask task = fbsProjectTaskService.getById(progress.getTaskId()); + bean.setTaskName(task.getTaskName()); + bean.setTaskAddress(task.getTaskAddress()); + bean.setTaskStaffNum(task.getTaskStaffNum()); + return bean; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java index 77d61c2..d7d6c26 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bgt/service/impl/BgtUserServiceImpl.java @@ -3,28 +3,28 @@ package com.ruoyi.bgt.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.bgt.bo.BgtUserQueryBo; import com.ruoyi.bgt.domain.dto.UserRealNameAuthenticationDTO; +import com.ruoyi.bgt.mapper.BgtUserMapper; +import com.ruoyi.bgt.service.IBgtUserService; import com.ruoyi.common.core.domain.entity.BgtUser; -import com.ruoyi.common.domain.dto.AnnexDTO; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.BaseException; import com.ruoyi.common.service.IAnnexService; import com.ruoyi.common.utils.PageUtils; -import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.wgz.common.SnowflakeIdUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.ruoyi.bgt.bo.BgtUserQueryBo; -import com.ruoyi.bgt.mapper.BgtUserMapper; -import com.ruoyi.bgt.service.IBgtUserService; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Collection; /** * APP包工头Service业务层处理 @@ -81,6 +81,7 @@ public class BgtUserServiceImpl extends ServicePlusImpl public Boolean insert(BgtUser bo) { BgtUser add = BeanUtil.toBean(bo, BgtUser.class); validEntityBeforeSave(add); + add.setUserId(SnowflakeIdUtil.generateId()); return save(add); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/common/domain/Annex.java b/ruoyi-system/src/main/java/com/ruoyi/common/domain/Annex.java index 9647da2..ed18139 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/common/domain/Annex.java +++ b/ruoyi-system/src/main/java/com/ruoyi/common/domain/Annex.java @@ -1,20 +1,15 @@ package com.ruoyi.common.domain; +import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.annotation.Excel; - import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; -import java.io.Serializable; -import java.util.Date; -import java.math.BigDecimal; +import java.io.Serializable; import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.LocalDate; /** * 附件对象 common_annex @@ -33,8 +28,8 @@ public class Annex implements Serializable { /** 主键ID */ @ApiModelProperty("主键ID") - @TableId(value = "id") - private String id; + @TableId(value = "id", type = IdType.AUTO) + private Long id; /** 唯一标识 */ @Excel(name = "唯一标识") diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/bo/FbsProjectTaskApplyQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/bo/FbsProjectTaskApplyQueryBo.java new file mode 100644 index 0000000..7403b21 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/bo/FbsProjectTaskApplyQueryBo.java @@ -0,0 +1,42 @@ +package com.ruoyi.fbs.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 分包商项目任务申请分页查询对象 fbs_project_task_apply + * + * @author ruoyi + * @date 2025-02-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("分包商项目任务申请分页查询对象") +public class FbsProjectTaskApplyQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 任务ID */ + @ApiModelProperty("任务ID") + private Long taskId; + /** 包工头用户ID */ + @ApiModelProperty("包工头用户ID") + private Long userId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/bo/FbsProjectTaskQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/bo/FbsProjectTaskQueryBo.java new file mode 100644 index 0000000..6774051 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/bo/FbsProjectTaskQueryBo.java @@ -0,0 +1,78 @@ +package com.ruoyi.fbs.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 分包商项目任务分页查询对象 fbs_project_task + * + * @author ruoyi + * @date 2025-02-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("分包商项目任务分页查询对象") +public class FbsProjectTaskQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 项目ID */ + @ApiModelProperty("项目ID") + private Long projectId; + /** 标段ID */ + @ApiModelProperty("标段ID") + private Long sectionId; + /** 分包ID */ + @ApiModelProperty("分包ID") + private Long subId; + /** 任务名称 */ + @ApiModelProperty("任务名称") + private String taskName; + /** 任务地址 */ + @ApiModelProperty("任务地址") + private String taskAddress; + /** 任务金额 */ + @ApiModelProperty("任务金额") + private Long taskAmount; + /** 用工数量 */ + @ApiModelProperty("用工数量") + private Long taskStaffNum; + /** 任务开始时间 */ + @ApiModelProperty("任务开始时间") + private String taskBeginTime; + /** 联系人 */ + @ApiModelProperty("联系人") + private String taskContactPerson; + /** 联系电话 */ + @ApiModelProperty("联系电话") + private String taskContactPhone; + /** 分包描述 */ + @ApiModelProperty("任务描述") + private String taskDescribe; + /** 任务图片 */ + @ApiModelProperty("任务图片") + private String taskImg; + /** 资质要求 */ + @ApiModelProperty("资质要求") + private String qualification; + /** 包工头用户ID */ + @ApiModelProperty("包工头用户ID") + private Long userId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java new file mode 100644 index 0000000..a2cf6dc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTask.java @@ -0,0 +1,142 @@ +package com.ruoyi.fbs.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 分包商项目任务对象 fbs_project_task + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("fbs_project_task") +@ApiModel("分包商项目任务视图对象") +public class FbsProjectTask implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** 项目ID */ + @Excel(name = "项目ID") + @ApiModelProperty("项目ID") + private Long projectId; + + /** 标段ID */ + @Excel(name = "标段ID") + @ApiModelProperty("标段ID") + private Long sectionId; + + /** 分包ID */ + @Excel(name = "分包ID") + @ApiModelProperty("分包ID") + private Long subId; + + /** 任务名称 */ + @Excel(name = "任务名称") + @ApiModelProperty("任务名称") + private String taskName; + + /** 任务地址 */ + @Excel(name = "任务地址") + @ApiModelProperty("任务地址") + private String taskAddress; + + /** 任务金额 */ + @Excel(name = "任务金额") + @ApiModelProperty("任务金额") + private Long taskAmount; + + /** 用工数量 */ + @Excel(name = "用工数量") + @ApiModelProperty("用工数量") + private Long taskStaffNum; + + /** 任务开始时间 */ + @Excel(name = "任务开始时间") + @ApiModelProperty("任务开始时间") + private String taskBeginTime; + + /** 联系人 */ + @Excel(name = "联系人") + @ApiModelProperty("联系人") + private String taskContactPerson; + + /** 联系电话 */ + @Excel(name = "联系电话") + @ApiModelProperty("联系电话") + private String taskContactPhone; + + /** 分包描述 */ + @Excel(name = "任务描述") + @ApiModelProperty("任务描述") + private String taskDescribe; + + /** 任务图片 */ + @Excel(name = "任务图片") + @ApiModelProperty("任务图片") + private String taskImg; + + /** 资质要求 */ + @Excel(name = "资质要求") + @ApiModelProperty("资质要求") + private String qualification; + + /** 包工头用户ID */ + @Excel(name = "包工头用户ID") + @ApiModelProperty("包工头用户ID") + private Long userId; + + @Excel(name = "任务状态(1进行中 2已完成)") + @ApiModelProperty("任务状态(1进行中 2已完成)") + private String status; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java new file mode 100644 index 0000000..e7d0fa8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/FbsProjectTaskApply.java @@ -0,0 +1,78 @@ +package com.ruoyi.fbs.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 分包商项目任务申请对象 fbs_project_task_apply + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("fbs_project_task_apply") +@ApiModel("分包商项目任务申请视图对象") +public class FbsProjectTaskApply implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id") + private Long id; + + /** 任务ID */ + @Excel(name = "任务ID") + @ApiModelProperty("任务ID") + private Long taskId; + + /** 包工头用户ID */ + @Excel(name = "包工头用户ID") + @ApiModelProperty("包工头用户ID") + private Long userId; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/AppTaskDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/AppTaskDTO.java new file mode 100644 index 0000000..b2b0db7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/AppTaskDTO.java @@ -0,0 +1,24 @@ +package com.ruoyi.fbs.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("app项目任务列表查询条件") +public class AppTaskDTO { + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + @ApiModelProperty("任务名称") + private String taskName; + + @ApiModelProperty("承接人") + private Long userId; + + @ApiModelProperty("任务状态(1进行中 2已完成)") + private String status; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/TaskApplyDTO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/TaskApplyDTO.java new file mode 100644 index 0000000..596d4b3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/dto/TaskApplyDTO.java @@ -0,0 +1,16 @@ +package com.ruoyi.fbs.domain.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("app申请承接任务") +public class TaskApplyDTO { + + @ApiModelProperty("任务ID") + private Long taskId; + + @ApiModelProperty("包工头用户ID") + private Long userId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java new file mode 100644 index 0000000..16f96a1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskDetailVO.java @@ -0,0 +1,69 @@ +package com.ruoyi.fbs.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + + +@Data +@ApiModel("包工头项目任务列表") +public class AppTaskDetailVO { + + @ApiModelProperty("主键ID") + private Long id; + + /** 任务名称 */ + @ApiModelProperty("任务名称") + private String taskName; + + /** 任务地址 */ + @ApiModelProperty("任务地址") + private String taskAddress; + + /** 任务金额 */ + @ApiModelProperty("任务金额") + private Long taskAmount; + + /** 用工数量 */ + @ApiModelProperty("用工数量") + private Long taskStaffNum; + + /** 任务开始时间 */ + @ApiModelProperty("任务开始时间") + private String taskBeginTime; + + /** 联系人 */ + @ApiModelProperty("联系人") + private String taskContactPerson; + + /** 联系电话 */ + @ApiModelProperty("联系电话") + private String taskContactPhone; + + /** 分包描述 */ + @ApiModelProperty("任务描述") + private String taskDescribe; + + /** 任务图片 */ + @ApiModelProperty("任务图片") + private String taskImg; + + /** 资质要求 */ + @ApiModelProperty("资质要求") + private String qualification; + + /** 备注 */ + @ApiModelProperty("备注") + private String remark; + + @ApiModelProperty("项目名") + private String projectName; + + @ApiModelProperty("发布时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskVO.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskVO.java new file mode 100644 index 0000000..7d183fa --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/domain/vo/AppTaskVO.java @@ -0,0 +1,39 @@ +package com.ruoyi.fbs.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + + +@Data +@ApiModel("包工头项目任务列表") +public class AppTaskVO { + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("任务名称") + private String taskName; + /** 任务地址 */ + @ApiModelProperty("任务地址") + private String taskAddress; + /** 任务金额 */ + @ApiModelProperty("任务金额") + private Long taskAmount; + /** 用工数量 */ + @ApiModelProperty("用工数量") + private Long taskStaffNum; + + @ApiModelProperty("项目名") + private String projectName; + + @ApiModelProperty("发布时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTime; + + @ApiModelProperty("申请数量") + private Integer applyNum; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java new file mode 100644 index 0000000..cd9af1c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskApplyMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.fbs.mapper; + +import com.ruoyi.fbs.domain.FbsProjectTaskApply; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import org.apache.ibatis.annotations.CacheNamespace; + +/** + * 分包商项目任务申请Mapper接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface FbsProjectTaskApplyMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java new file mode 100644 index 0000000..7189164 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/mapper/FbsProjectTaskMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.fbs.mapper; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.fbs.domain.FbsProjectTask; +import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.fbs.domain.vo.AppTaskVO; +import org.apache.ibatis.annotations.CacheNamespace; +import org.apache.ibatis.annotations.Param; + +/** + * 分包商项目任务Mapper接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface FbsProjectTaskMapper extends BaseMapperPlus { + + Page appQueryPageList(@Param("page") Page page, @Param("dto") AppTaskDTO dto); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java new file mode 100644 index 0000000..fe93936 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskApplyService.java @@ -0,0 +1,58 @@ +package com.ruoyi.fbs.service; + +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo; +import com.ruoyi.fbs.domain.FbsProjectTaskApply; +import com.ruoyi.fbs.domain.dto.TaskApplyDTO; + +import java.util.Collection; +import java.util.List; + +/** + * 分包商项目任务申请Service接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +public interface IFbsProjectTaskApplyService extends IServicePlus { + /** + * 查询单个 + * @return + */ + FbsProjectTaskApply queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(FbsProjectTaskApplyQueryBo bo); + + /** + * 查询列表 + */ + List queryList(FbsProjectTaskApplyQueryBo bo); + + /** + * 根据新增业务对象插入分包商项目任务申请 + * @param bo 分包商项目任务申请新增业务对象 + * @return + */ + Boolean insert(FbsProjectTaskApply bo); + + /** + * 根据编辑业务对象修改分包商项目任务申请 + * @param bo 分包商项目任务申请编辑业务对象 + * @return + */ + Boolean update(FbsProjectTaskApply bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + Boolean appTaskApply(TaskApplyDTO dto); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java new file mode 100644 index 0000000..10b4c6a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/IFbsProjectTaskService.java @@ -0,0 +1,67 @@ +package com.ruoyi.fbs.service; + + +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; +import com.ruoyi.fbs.domain.FbsProjectTask; +import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.fbs.domain.vo.AppTaskDetailVO; +import com.ruoyi.fbs.domain.vo.AppTaskVO; + +import java.util.Collection; +import java.util.List; + +/** + * 分包商项目任务Service接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +public interface IFbsProjectTaskService extends IServicePlus { + /** + * 查询单个 + * @return + */ + FbsProjectTask queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(FbsProjectTaskQueryBo bo); + + /** + * 查询列表 + */ + List queryList(FbsProjectTaskQueryBo bo); + + /** + * 根据新增业务对象插入分包商项目任务 + * @param bo 分包商项目任务新增业务对象 + * @return + */ + Boolean insert(FbsProjectTask bo); + + /** + * 根据编辑业务对象修改分包商项目任务 + * @param bo 分包商项目任务编辑业务对象 + * @return + */ + Boolean update(FbsProjectTask bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + + /** + * 包工头查询列表 + */ + TableDataInfo appQueryPageList(AppTaskDTO dto); + + AppTaskDetailVO appQueryById(Long id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java new file mode 100644 index 0000000..f615409 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskApplyServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.fbs.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.fbs.bo.FbsProjectTaskApplyQueryBo; +import com.ruoyi.fbs.domain.FbsProjectTaskApply; +import com.ruoyi.fbs.domain.dto.TaskApplyDTO; +import com.ruoyi.fbs.mapper.FbsProjectTaskApplyMapper; +import com.ruoyi.fbs.service.IFbsProjectTaskApplyService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 分包商项目任务申请Service业务层处理 + * + * @author ruoyi + * @date 2025-02-17 + */ +@Service +public class FbsProjectTaskApplyServiceImpl extends ServicePlusImpl implements IFbsProjectTaskApplyService { + + @Override + public FbsProjectTaskApply queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(FbsProjectTaskApplyQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(FbsProjectTaskApplyQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(FbsProjectTaskApplyQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getTaskId() != null, FbsProjectTaskApply::getTaskId, bo.getTaskId()); + lqw.eq(bo.getUserId() != null, FbsProjectTaskApply::getUserId, bo.getUserId()); + return lqw; + } + + @Override + public Boolean insert(FbsProjectTaskApply bo) { + FbsProjectTaskApply add = BeanUtil.toBean(bo, FbsProjectTaskApply.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(FbsProjectTaskApply bo) { + FbsProjectTaskApply update = BeanUtil.toBean(bo, FbsProjectTaskApply.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(FbsProjectTaskApply entity){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(FbsProjectTaskApply::getTaskId, entity.getTaskId()); + wrapper.eq(FbsProjectTaskApply::getUserId, entity.getUserId()); + List list = baseMapper.selectList(wrapper); + + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } + + @Override + public Boolean appTaskApply(TaskApplyDTO dto) { + FbsProjectTaskApply fbsProjectTaskApply = BeanUtil.copyProperties(dto, FbsProjectTaskApply.class); + validEntityBeforeSave(fbsProjectTaskApply); + return null; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java new file mode 100644 index 0000000..15ff71f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/fbs/service/impl/FbsProjectTaskServiceImpl.java @@ -0,0 +1,123 @@ +package com.ruoyi.fbs.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo; +import com.ruoyi.fbs.domain.FbsProjectTask; +import com.ruoyi.fbs.domain.dto.AppTaskDTO; +import com.ruoyi.fbs.domain.vo.AppTaskDetailVO; +import com.ruoyi.fbs.domain.vo.AppTaskVO; +import com.ruoyi.fbs.mapper.FbsProjectTaskMapper; +import com.ruoyi.fbs.service.IFbsProjectTaskService; +import com.ruoyi.zbf.domain.ZbfProject; +import com.ruoyi.zbf.service.IZbfProjectService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 分包商项目任务Service业务层处理 + * + * @author ruoyi + * @date 2025-02-17 + */ +@Service +public class FbsProjectTaskServiceImpl extends ServicePlusImpl implements IFbsProjectTaskService { + + @Autowired + private IZbfProjectService zbfProjectService; + + @Override + public FbsProjectTask queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(FbsProjectTaskQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(FbsProjectTaskQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(FbsProjectTaskQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getProjectId() != null, FbsProjectTask::getProjectId, bo.getProjectId()); + lqw.eq(bo.getSectionId() != null, FbsProjectTask::getSectionId, bo.getSectionId()); + lqw.eq(bo.getSubId() != null, FbsProjectTask::getSubId, bo.getSubId()); + lqw.like(StrUtil.isNotBlank(bo.getTaskName()), FbsProjectTask::getTaskName, bo.getTaskName()); + lqw.eq(StrUtil.isNotBlank(bo.getTaskAddress()), FbsProjectTask::getTaskAddress, bo.getTaskAddress()); + lqw.eq(bo.getTaskAmount() != null, FbsProjectTask::getTaskAmount, bo.getTaskAmount()); + lqw.eq(bo.getTaskStaffNum() != null, FbsProjectTask::getTaskStaffNum, bo.getTaskStaffNum()); + lqw.eq(StrUtil.isNotBlank(bo.getTaskBeginTime()), FbsProjectTask::getTaskBeginTime, bo.getTaskBeginTime()); + lqw.eq(StrUtil.isNotBlank(bo.getTaskContactPerson()), FbsProjectTask::getTaskContactPerson, bo.getTaskContactPerson()); + lqw.eq(StrUtil.isNotBlank(bo.getTaskContactPhone()), FbsProjectTask::getTaskContactPhone, bo.getTaskContactPhone()); + lqw.eq(StrUtil.isNotBlank(bo.getTaskDescribe()), FbsProjectTask::getTaskDescribe, bo.getTaskDescribe()); + lqw.eq(StrUtil.isNotBlank(bo.getTaskImg()), FbsProjectTask::getTaskImg, bo.getTaskImg()); + lqw.eq(StrUtil.isNotBlank(bo.getQualification()), FbsProjectTask::getQualification, bo.getQualification()); + lqw.eq(bo.getUserId() != null, FbsProjectTask::getUserId, bo.getUserId()); + return lqw; + } + + @Override + public Boolean insert(FbsProjectTask bo) { + FbsProjectTask add = BeanUtil.toBean(bo, FbsProjectTask.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(FbsProjectTask bo) { + FbsProjectTask update = BeanUtil.toBean(bo, FbsProjectTask.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(FbsProjectTask entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } + + @Override + public TableDataInfo appQueryPageList(AppTaskDTO dto) { + Page appTaskDTOPage = new Page<>(); + appTaskDTOPage.setCurrent(dto.getPageNum()); + appTaskDTOPage.setSize(dto.getPageSize()); + Page appTaskVOPage = baseMapper.appQueryPageList(appTaskDTOPage, dto); + return PageUtils.buildDataInfo(appTaskVOPage); + } + + @Override + public AppTaskDetailVO appQueryById(Long id) { + FbsProjectTask byId = getById(id); + AppTaskDetailVO appTaskDetailVO = BeanUtil.copyProperties(byId, AppTaskDetailVO.class); + ZbfProject project = zbfProjectService.getById(byId.getProjectId()); + appTaskDetailVO.setProjectName(project.getProjectName()); + return appTaskDetailVO; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectQueryBo.java new file mode 100644 index 0000000..de2cd1e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectQueryBo.java @@ -0,0 +1,60 @@ +package com.ruoyi.zbf.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 总包方项目分页查询对象 zbf_project + * + * @author ruoyi + * @date 2025-02-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("总包方项目分页查询对象") +public class ZbfProjectQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 唯一标识 */ + @ApiModelProperty("唯一标识") + private Long userId; + /** 单位名称 */ + @ApiModelProperty("单位名称") + private String unitName; + /** 统一社会信用代码 */ + @ApiModelProperty("统一社会信用代码") + private String creditCode; + /** 项目名称 */ + @ApiModelProperty("项目名称") + private String projectName; + /** 项目图片 */ + @ApiModelProperty("项目图片") + private String projectImg; + /** 项目地址 */ + @ApiModelProperty("项目地址") + private String projectAddress; + /** 联系人 */ + @ApiModelProperty("联系人") + private String contactPerson; + /** 联系电话 */ + @ApiModelProperty("联系电话") + private String contactPhone; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectSectionQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectSectionQueryBo.java new file mode 100644 index 0000000..278da4c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectSectionQueryBo.java @@ -0,0 +1,52 @@ +package com.ruoyi.zbf.bo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.LocalDate; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 总包方项目标段分页查询对象 zbf_project_section + * + * @author ruoyi + * @date 2025-02-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("总包方项目标段分页查询对象") +public class ZbfProjectSectionQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 项目ID */ + @ApiModelProperty("项目ID") + private Long projectId; + /** 标段名称 */ + @ApiModelProperty("标段名称") + private String sectionName; + /** 标段描述 */ + @ApiModelProperty("标段描述") + private String sectionDescribe; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectSubcontractingQueryBo.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectSubcontractingQueryBo.java new file mode 100644 index 0000000..8d021b5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/bo/ZbfProjectSubcontractingQueryBo.java @@ -0,0 +1,57 @@ +package com.ruoyi.zbf.bo; + +import com.ruoyi.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 总包方项目分包分页查询对象 zbf_project_subcontracting + * + * @author ruoyi + * @date 2025-02-17 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("总包方项目分包分页查询对象") +public class ZbfProjectSubcontractingQueryBo extends BaseEntity { + + /** 分页大小 */ + @ApiModelProperty("分页大小") + private Integer pageSize; + /** 当前页数 */ + @ApiModelProperty("当前页数") + private Integer pageNum; + /** 排序列 */ + @ApiModelProperty("排序列") + private String orderByColumn; + /** 排序的方向desc或者asc */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + + + /** 项目ID */ + @ApiModelProperty("项目ID") + private Long projectId; + /** 标段ID */ + @ApiModelProperty("标段ID") + private Long sectionId; + /** 分包主题 */ + @ApiModelProperty("分包主题") + private String subName; + /** 分包描述 */ + @ApiModelProperty("分包描述") + private String subDescribe; + /** 分包金额 */ + @ApiModelProperty("分包金额") + private Long subAmount; + /** 资质要求 */ + @ApiModelProperty("资质要求") + private String qualification; + /** 分包商用户ID */ + @ApiModelProperty("分包商用户ID") + private Long userId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProject.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProject.java new file mode 100644 index 0000000..3429691 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProject.java @@ -0,0 +1,109 @@ +package com.ruoyi.zbf.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 总包方项目对象 zbf_project + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("zbf_project") +@ApiModel("总包方项目视图对象") +public class ZbfProject implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id") + private Long id; + + /** 唯一标识 */ + @Excel(name = "唯一标识") + @ApiModelProperty("唯一标识") + private Long userId; + + /** 单位名称 */ + @Excel(name = "单位名称") + @ApiModelProperty("单位名称") + private String unitName; + + /** 统一社会信用代码 */ + @Excel(name = "统一社会信用代码") + @ApiModelProperty("统一社会信用代码") + private String creditCode; + + /** 项目名称 */ + @Excel(name = "项目名称") + @ApiModelProperty("项目名称") + private String projectName; + + /** 项目图片 */ + @Excel(name = "项目图片") + @ApiModelProperty("项目图片") + private String projectImg; + + /** 项目地址 */ + @Excel(name = "项目地址") + @ApiModelProperty("项目地址") + private String projectAddress; + + /** 联系人 */ + @Excel(name = "联系人") + @ApiModelProperty("联系人") + private String contactPerson; + + /** 联系电话 */ + @Excel(name = "联系电话") + @ApiModelProperty("联系电话") + private String contactPhone; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + @TableLogic + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSection.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSection.java new file mode 100644 index 0000000..acefda4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSection.java @@ -0,0 +1,84 @@ +package com.ruoyi.zbf.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 总包方项目标段对象 zbf_project_section + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("zbf_project_section") +@ApiModel("总包方项目标段视图对象") +public class ZbfProjectSection implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id") + private Long id; + + /** 项目ID */ + @Excel(name = "项目ID") + @ApiModelProperty("项目ID") + private Long projectId; + + /** 标段名称 */ + @Excel(name = "标段名称") + @ApiModelProperty("标段名称") + private String sectionName; + + /** 标段描述 */ + @Excel(name = "标段描述") + @ApiModelProperty("标段描述") + private String sectionDescribe; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + @TableLogic + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontracting.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontracting.java new file mode 100644 index 0000000..d700a36 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/domain/ZbfProjectSubcontracting.java @@ -0,0 +1,104 @@ +package com.ruoyi.zbf.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.ruoyi.common.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 总包方项目分包对象 zbf_project_subcontracting + * + * @author ruoyi + * @date 2025-02-17 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("zbf_project_subcontracting") +@ApiModel("总包方项目分包视图对象") +public class ZbfProjectSubcontracting implements Serializable { + + private static final long serialVersionUID=1L; + + /** 主键ID */ + @ApiModelProperty("主键ID") + @TableId(value = "id") + private Long id; + + /** 项目ID */ + @Excel(name = "项目ID") + @ApiModelProperty("项目ID") + private Long projectId; + + /** 标段ID */ + @Excel(name = "标段ID") + @ApiModelProperty("标段ID") + private Long sectionId; + + /** 分包主题 */ + @Excel(name = "分包主题") + @ApiModelProperty("分包主题") + private String subName; + + /** 分包描述 */ + @Excel(name = "分包描述") + @ApiModelProperty("分包描述") + private String subDescribe; + + /** 分包金额 */ + @Excel(name = "分包金额") + @ApiModelProperty("分包金额") + private Long subAmount; + + /** 资质要求 */ + @Excel(name = "资质要求") + @ApiModelProperty("资质要求") + private String qualification; + + /** 分包商用户ID */ + @Excel(name = "分包商用户ID") + @ApiModelProperty("分包商用户ID") + private Long userId; + + /** 删除标志(0代表存在 2代表删除) */ + @Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除") + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + @TableLogic + private String delFlag; + + /** 创建者 */ + @Excel(name = "创建者") + @ApiModelProperty("创建者") + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 更新者 */ + @Excel(name = "更新者") + @ApiModelProperty("更新者") + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** 备注 */ + @Excel(name = "备注") + @ApiModelProperty("备注") + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectMapper.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectMapper.java new file mode 100644 index 0000000..59f8d2c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.zbf.mapper; + + +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.zbf.domain.ZbfProject; +import org.apache.ibatis.annotations.CacheNamespace; + +/** + * 总包方项目Mapper接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface ZbfProjectMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectSectionMapper.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectSectionMapper.java new file mode 100644 index 0000000..922b150 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectSectionMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.zbf.mapper; + + +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.zbf.domain.ZbfProjectSection; +import org.apache.ibatis.annotations.CacheNamespace; + +/** + * 总包方项目标段Mapper接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface ZbfProjectSectionMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectSubcontractingMapper.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectSubcontractingMapper.java new file mode 100644 index 0000000..f47b3dd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/mapper/ZbfProjectSubcontractingMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.zbf.mapper; + + +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.zbf.domain.ZbfProjectSubcontracting; +import org.apache.ibatis.annotations.CacheNamespace; + +/** + * 总包方项目分包Mapper接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +// 如使需切换数据源 请勿使用缓存 会造成数据不一致现象 +@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class) +public interface ZbfProjectSubcontractingMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectSectionService.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectSectionService.java new file mode 100644 index 0000000..5ef4cb7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectSectionService.java @@ -0,0 +1,56 @@ +package com.ruoyi.zbf.service; + + +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo; +import com.ruoyi.zbf.domain.ZbfProjectSection; + +import java.util.Collection; +import java.util.List; + +/** + * 总包方项目标段Service接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +public interface IZbfProjectSectionService extends IServicePlus { + /** + * 查询单个 + * @return + */ + ZbfProjectSection queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(ZbfProjectSectionQueryBo bo); + + /** + * 查询列表 + */ + List queryList(ZbfProjectSectionQueryBo bo); + + /** + * 根据新增业务对象插入总包方项目标段 + * @param bo 总包方项目标段新增业务对象 + * @return + */ + Boolean insert(ZbfProjectSection bo); + + /** + * 根据编辑业务对象修改总包方项目标段 + * @param bo 总包方项目标段编辑业务对象 + * @return + */ + Boolean update(ZbfProjectSection bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java new file mode 100644 index 0000000..9dde82b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectService.java @@ -0,0 +1,56 @@ +package com.ruoyi.zbf.service; + + +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.zbf.bo.ZbfProjectQueryBo; +import com.ruoyi.zbf.domain.ZbfProject; + +import java.util.Collection; +import java.util.List; + +/** + * 总包方项目Service接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +public interface IZbfProjectService extends IServicePlus { + /** + * 查询单个 + * @return + */ + ZbfProject queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(ZbfProjectQueryBo bo); + + /** + * 查询列表 + */ + List queryList(ZbfProjectQueryBo bo); + + /** + * 根据新增业务对象插入总包方项目 + * @param bo 总包方项目新增业务对象 + * @return + */ + Boolean insert(ZbfProject bo); + + /** + * 根据编辑业务对象修改总包方项目 + * @param bo 总包方项目编辑业务对象 + * @return + */ + Boolean update(ZbfProject bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectSubcontractingService.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectSubcontractingService.java new file mode 100644 index 0000000..38d7469 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/IZbfProjectSubcontractingService.java @@ -0,0 +1,56 @@ +package com.ruoyi.zbf.service; + + +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.zbf.bo.ZbfProjectSubcontractingQueryBo; +import com.ruoyi.zbf.domain.ZbfProjectSubcontracting; + +import java.util.Collection; +import java.util.List; + +/** + * 总包方项目分包Service接口 + * + * @author ruoyi + * @date 2025-02-17 + */ +public interface IZbfProjectSubcontractingService extends IServicePlus { + /** + * 查询单个 + * @return + */ + ZbfProjectSubcontracting queryById(Long id); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(ZbfProjectSubcontractingQueryBo bo); + + /** + * 查询列表 + */ + List queryList(ZbfProjectSubcontractingQueryBo bo); + + /** + * 根据新增业务对象插入总包方项目分包 + * @param bo 总包方项目分包新增业务对象 + * @return + */ + Boolean insert(ZbfProjectSubcontracting bo); + + /** + * 根据编辑业务对象修改总包方项目分包 + * @param bo 总包方项目分包编辑业务对象 + * @return + */ + Boolean update(ZbfProjectSubcontracting bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectSectionServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectSectionServiceImpl.java new file mode 100644 index 0000000..4a26b52 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectSectionServiceImpl.java @@ -0,0 +1,85 @@ +package com.ruoyi.zbf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo; +import com.ruoyi.zbf.domain.ZbfProjectSection; +import com.ruoyi.zbf.mapper.ZbfProjectSectionMapper; +import com.ruoyi.zbf.service.IZbfProjectSectionService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 总包方项目标段Service业务层处理 + * + * @author ruoyi + * @date 2025-02-17 + */ +@Service +public class ZbfProjectSectionServiceImpl extends ServicePlusImpl implements IZbfProjectSectionService { + + @Override + public ZbfProjectSection queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(ZbfProjectSectionQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(ZbfProjectSectionQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(ZbfProjectSectionQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getProjectId() != null, ZbfProjectSection::getProjectId, bo.getProjectId()); + lqw.like(StrUtil.isNotBlank(bo.getSectionName()), ZbfProjectSection::getSectionName, bo.getSectionName()); + lqw.eq(StrUtil.isNotBlank(bo.getSectionDescribe()), ZbfProjectSection::getSectionDescribe, bo.getSectionDescribe()); + return lqw; + } + + @Override + public Boolean insert(ZbfProjectSection bo) { + ZbfProjectSection add = BeanUtil.toBean(bo, ZbfProjectSection.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(ZbfProjectSection bo) { + ZbfProjectSection update = BeanUtil.toBean(bo, ZbfProjectSection.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(ZbfProjectSection entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java new file mode 100644 index 0000000..2c27004 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectServiceImpl.java @@ -0,0 +1,90 @@ +package com.ruoyi.zbf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.zbf.bo.ZbfProjectQueryBo; +import com.ruoyi.zbf.domain.ZbfProject; +import com.ruoyi.zbf.mapper.ZbfProjectMapper; +import com.ruoyi.zbf.service.IZbfProjectService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 总包方项目Service业务层处理 + * + * @author ruoyi + * @date 2025-02-17 + */ +@Service +public class ZbfProjectServiceImpl extends ServicePlusImpl implements IZbfProjectService { + + @Override + public ZbfProject queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(ZbfProjectQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(ZbfProjectQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(ZbfProjectQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getUserId() != null, ZbfProject::getUserId, bo.getUserId()); + lqw.like(StrUtil.isNotBlank(bo.getUnitName()), ZbfProject::getUnitName, bo.getUnitName()); + lqw.eq(StrUtil.isNotBlank(bo.getCreditCode()), ZbfProject::getCreditCode, bo.getCreditCode()); + lqw.like(StrUtil.isNotBlank(bo.getProjectName()), ZbfProject::getProjectName, bo.getProjectName()); + lqw.eq(StrUtil.isNotBlank(bo.getProjectImg()), ZbfProject::getProjectImg, bo.getProjectImg()); + lqw.eq(StrUtil.isNotBlank(bo.getProjectAddress()), ZbfProject::getProjectAddress, bo.getProjectAddress()); + lqw.eq(StrUtil.isNotBlank(bo.getContactPerson()), ZbfProject::getContactPerson, bo.getContactPerson()); + lqw.eq(StrUtil.isNotBlank(bo.getContactPhone()), ZbfProject::getContactPhone, bo.getContactPhone()); + return lqw; + } + + @Override + public Boolean insert(ZbfProject bo) { + ZbfProject add = BeanUtil.toBean(bo, ZbfProject.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(ZbfProject bo) { + ZbfProject update = BeanUtil.toBean(bo, ZbfProject.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(ZbfProject entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectSubcontractingServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectSubcontractingServiceImpl.java new file mode 100644 index 0000000..31c6c66 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zbf/service/impl/ZbfProjectSubcontractingServiceImpl.java @@ -0,0 +1,89 @@ +package com.ruoyi.zbf.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.zbf.bo.ZbfProjectSubcontractingQueryBo; +import com.ruoyi.zbf.domain.ZbfProjectSubcontracting; +import com.ruoyi.zbf.mapper.ZbfProjectSubcontractingMapper; +import com.ruoyi.zbf.service.IZbfProjectSubcontractingService; +import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * 总包方项目分包Service业务层处理 + * + * @author ruoyi + * @date 2025-02-17 + */ +@Service +public class ZbfProjectSubcontractingServiceImpl extends ServicePlusImpl implements IZbfProjectSubcontractingService { + + @Override + public ZbfProjectSubcontracting queryById(Long id){ + return getById(id); + } + + @Override + public TableDataInfo queryPageList(ZbfProjectSubcontractingQueryBo bo) { + Page result = page(PageUtils.buildPage(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(ZbfProjectSubcontractingQueryBo bo) { + return list(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(ZbfProjectSubcontractingQueryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getProjectId() != null, ZbfProjectSubcontracting::getProjectId, bo.getProjectId()); + lqw.eq(bo.getSectionId() != null, ZbfProjectSubcontracting::getSectionId, bo.getSectionId()); + lqw.like(StrUtil.isNotBlank(bo.getSubName()), ZbfProjectSubcontracting::getSubName, bo.getSubName()); + lqw.eq(StrUtil.isNotBlank(bo.getSubDescribe()), ZbfProjectSubcontracting::getSubDescribe, bo.getSubDescribe()); + lqw.eq(bo.getSubAmount() != null, ZbfProjectSubcontracting::getSubAmount, bo.getSubAmount()); + lqw.eq(StrUtil.isNotBlank(bo.getQualification()), ZbfProjectSubcontracting::getQualification, bo.getQualification()); + lqw.eq(bo.getUserId() != null, ZbfProjectSubcontracting::getUserId, bo.getUserId()); + return lqw; + } + + @Override + public Boolean insert(ZbfProjectSubcontracting bo) { + ZbfProjectSubcontracting add = BeanUtil.toBean(bo, ZbfProjectSubcontracting.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean update(ZbfProjectSubcontracting bo) { + ZbfProjectSubcontracting update = BeanUtil.toBean(bo, ZbfProjectSubcontracting.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(ZbfProjectSubcontracting entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml new file mode 100644 index 0000000..4c575ff --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitApplyMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml new file mode 100644 index 0000000..d416f26 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectRecruitMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectTaskProgressMapper.xml b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectTaskProgressMapper.xml new file mode 100644 index 0000000..b19e3a3 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/bgt/BgtProjectTaskProgressMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml b/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml new file mode 100644 index 0000000..56088ad --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskApplyMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskMapper.xml new file mode 100644 index 0000000..758bd5f --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fbs/FbsProjectTaskMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml new file mode 100644 index 0000000..000e018 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSectionMapper.xml b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSectionMapper.xml new file mode 100644 index 0000000..4b2daa1 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSectionMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingMapper.xml b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingMapper.xml new file mode 100644 index 0000000..92ef2b0 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/zbf/ZbfProjectSubcontractingMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + +