总包方
This commit is contained in:
@ -7,15 +7,17 @@ import com.ruoyi.bgt.domain.dto.BgtProjectTaskProgressQueryDTO;
|
|||||||
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressDetailVO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO;
|
import com.ruoyi.bgt.domain.vo.BgtProjectTaskProgressVO;
|
||||||
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
||||||
import com.ruoyi.bgt.service.IBgtUserService;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.entity.BgtUser;
|
import com.ruoyi.common.core.domain.entity.FbsUser;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||||
|
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||||
|
import com.ruoyi.fbs.service.IFbsUserService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -39,7 +41,9 @@ public class AppBgtProjectTaskProgressController extends BaseController {
|
|||||||
|
|
||||||
private final IBgtProjectTaskProgressService iBgtProjectTaskProgressService;
|
private final IBgtProjectTaskProgressService iBgtProjectTaskProgressService;
|
||||||
|
|
||||||
private final IBgtUserService iBgtUserService;
|
private final IFbsUserService iFbsUserService;
|
||||||
|
|
||||||
|
private final IFbsProjectTaskService iFbsProjectTaskService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询包工头项目任务进度列表
|
* 查询包工头项目任务进度列表
|
||||||
@ -70,9 +74,12 @@ public class AppBgtProjectTaskProgressController extends BaseController {
|
|||||||
@RepeatSubmit
|
@RepeatSubmit
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
public AjaxResult<Boolean> add(@Validated @RequestBody BgtProjectTaskProgressDTO dto) {
|
public AjaxResult<Boolean> add(@Validated @RequestBody BgtProjectTaskProgressDTO dto) {
|
||||||
BgtUser bgtUser = iBgtUserService.selectUserByUserId(dto.getReviewerId());
|
|
||||||
|
FbsProjectTask task = iFbsProjectTaskService.getById(dto.getTaskId());
|
||||||
|
FbsUser fbsUser = iFbsUserService.selectUserByUserId(task.getCreateId());
|
||||||
BgtProjectTaskProgress bgtProjectTaskProgress = BeanUtil.copyProperties(dto, BgtProjectTaskProgress.class);
|
BgtProjectTaskProgress bgtProjectTaskProgress = BeanUtil.copyProperties(dto, BgtProjectTaskProgress.class);
|
||||||
bgtProjectTaskProgress.setReviewerName(bgtUser.getUsername());
|
bgtProjectTaskProgress.setReviewerName(fbsUser.getUsername());
|
||||||
|
bgtProjectTaskProgress.setReviewerId(fbsUser.getUserId());
|
||||||
return AjaxResult.success(iBgtProjectTaskProgressService.insert(bgtProjectTaskProgress));
|
return AjaxResult.success(iBgtProjectTaskProgressService.insert(bgtProjectTaskProgress));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,28 +69,6 @@ public class AppFbsProjectController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// @ApiOperation("分包商查看可报名项目详情")
|
|
||||||
// @GetMapping("/signUp/{id}")
|
|
||||||
// public AjaxResult<FbsProjectDetailVO> signUpDetail(@NotNull(message = "主键不能为空")
|
|
||||||
// @PathVariable("id") Long id) {
|
|
||||||
// return AjaxResult.success(zbfProjectService.signUpDetail(id));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @ApiOperation("分包商查看已申请项目详情")
|
|
||||||
// @GetMapping("/apply/{id}")
|
|
||||||
// public AjaxResult<FbsProjectDetailVO> applyDetail(@NotNull(message = "主键不能为空")
|
|
||||||
// @PathVariable("id") Long id) {
|
|
||||||
// return AjaxResult.success(zbfProjectService.applyDetail(id));
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @ApiOperation("分包商查看已加入或已竣工项目详情")
|
|
||||||
// @GetMapping("/joinOrComplete/{id}")
|
|
||||||
// public AjaxResult<FbsProjectDetailVO> joinOrCompleteDetail(@NotNull(message = "主键不能为空")
|
|
||||||
// @PathVariable("id") Long id) {
|
|
||||||
// return AjaxResult.success(zbfProjectService.joinOrCompleteDetail(id));
|
|
||||||
// }
|
|
||||||
|
|
||||||
@ApiOperation("分包商查询我的项目列表-项目切换")
|
@ApiOperation("分包商查询我的项目列表-项目切换")
|
||||||
@GetMapping("/switchList")
|
@GetMapping("/switchList")
|
||||||
public TableDataInfo<FbsProjectListVO> switchList(FbsProjectListDTO dto) {
|
public TableDataInfo<FbsProjectListVO> switchList(FbsProjectListDTO dto) {
|
||||||
|
@ -6,10 +6,12 @@ import com.ruoyi.common.core.controller.BaseController;
|
|||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.zbf.domain.ZbfProject;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfProgressListDTO;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
|
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
|
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectCountVO;
|
import com.ruoyi.zbf.domain.dto.ZbfProjectSwitchListDTO;
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectListVO;
|
import com.ruoyi.zbf.domain.vo.*;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@ -18,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总包方项目Controller
|
* 总包方项目Controller
|
||||||
*
|
*
|
||||||
@ -47,11 +51,83 @@ public class AppZbfProjectController extends BaseController {
|
|||||||
return iZbfProjectService.queryZbfList(dto);
|
return iZbfProjectService.queryZbfList(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("总包方查询自建项目统计")
|
@ApiOperation("总包方项目统计")
|
||||||
@GetMapping("/count")
|
@GetMapping("/count")
|
||||||
public AjaxResult<ZbfProjectCountVO> projectCount() {
|
public AjaxResult<ZbfProjectCountVO> projectCount() {
|
||||||
return AjaxResult.success(iZbfProjectService.projectCount());
|
return AjaxResult.success(iZbfProjectService.projectCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目列表(精简)")
|
||||||
|
@GetMapping("/conciseList")
|
||||||
|
public TableDataInfo<ZbfProject> conciseList(@Validated ZbfProjectListDTO dto) {
|
||||||
|
return iZbfProjectService.conciseList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-项目信息")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public AjaxResult<ZbfProjectDetailVO> zbfInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable("id") Long id) {
|
||||||
|
return AjaxResult.success(iZbfProjectService.zbfInfo(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-项目标段信息")
|
||||||
|
@GetMapping("/sectionInfo/{id}")
|
||||||
|
public AjaxResult<ZbfProjectDetailSectionVO> sectionInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable("id") Long id) {
|
||||||
|
return AjaxResult.success(iZbfProjectService.sectionInfo(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-用工数量")
|
||||||
|
@GetMapping("/personCount/{id}")
|
||||||
|
public AjaxResult<ZbfPersonCountVO> personCount(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable("id") Long id) {
|
||||||
|
return AjaxResult.success(iZbfProjectService.personCount(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-考勤情况")
|
||||||
|
@GetMapping("/attendanceCount/{id}")
|
||||||
|
public AjaxResult<ZbfAttendanceCountVO> attendanceCount(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable("id") Long id) {
|
||||||
|
return AjaxResult.success(iZbfProjectService.attendanceCount(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-用工进度")
|
||||||
|
@GetMapping("/progress")
|
||||||
|
public AjaxResult<ZbfProjectDetailProgressVO> zbfProgress(Long projectId) {
|
||||||
|
return AjaxResult.success(iZbfProjectService.zbfProgress(projectId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-用工进度列表")
|
||||||
|
@GetMapping("/progressList")
|
||||||
|
public TableDataInfo<ZbfProgressListVO> zbfProgressList(ZbfProgressListDTO dto) {
|
||||||
|
return iZbfProjectService.zbfProgressList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-付款情况")
|
||||||
|
@GetMapping("/wage")
|
||||||
|
public AjaxResult<ZbfProjectDetailWageVO> zbfWage(Long projectId) {
|
||||||
|
return AjaxResult.success(iZbfProjectService.zbfWage(projectId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-付款情况查看更多")
|
||||||
|
@GetMapping("/wageList")
|
||||||
|
public TableDataInfo<ZbfWageApplicationVO> zbfWageList(Long projectId) {
|
||||||
|
return iZbfProjectService.zbfWageList(projectId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目详情-项目切换")
|
||||||
|
@GetMapping("/switchList")
|
||||||
|
public TableDataInfo<ZbfProject> zbfSwitchList(ZbfProjectSwitchListDTO dto) {
|
||||||
|
return iZbfProjectService.zbfSwitchList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
package com.ruoyi.web.controller.zbf;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfSubSwitchListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
|
||||||
|
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.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目标段Controller
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-17
|
||||||
|
*/
|
||||||
|
@Api(value = "App总包方总包方项目标段控制器", tags = {"App总包方"})
|
||||||
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/zbf/section")
|
||||||
|
public class AppZbfProjectSectionController extends BaseController {
|
||||||
|
|
||||||
|
private final IZbfProjectSectionService iZbfProjectSectionService;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("总包方查询分包切换列表")
|
||||||
|
@GetMapping("/zbfSubSwitchList")
|
||||||
|
public TableDataInfo<ZbfProjectSectionListVO> zbfSubSwitchList(@Validated ZbfSubSwitchListDTO dto) {
|
||||||
|
return iZbfProjectSectionService.zbfSubSwitchList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -4,16 +4,16 @@ import com.ruoyi.common.annotation.Log;
|
|||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService;
|
import com.ruoyi.zbf.service.IZbfProjectSubcontractingApplyService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
@ -41,5 +41,10 @@ public class AppZbfProjectSubcontractingApplyController extends BaseController {
|
|||||||
return toAjax(iZbfProjectSubcontractingApplyService.choose(id));
|
return toAjax(iZbfProjectSubcontractingApplyService.choose(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目分包详情-申请列表")
|
||||||
|
@GetMapping("/fbsList/{subId}")
|
||||||
|
public TableDataInfo<ZbfProjectSubcontractingApplyListVO> getFbsList(ZbfProjectSubApplyListDTO dto) {
|
||||||
|
return iZbfProjectSubcontractingApplyService.getFbsList(dto);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
package com.ruoyi.web.controller.zbf;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingDetailVO;
|
||||||
|
import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
||||||
|
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目分包Controller
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-17
|
||||||
|
*/
|
||||||
|
@Api(value = "App总包方项目分包控制器", tags = {"App总包方"})
|
||||||
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/zbf/subcontracting")
|
||||||
|
public class AppZbfProjectSubcontractingController extends BaseController {
|
||||||
|
|
||||||
|
private final IZbfProjectSubcontractingService iZbfProjectSubcontractingService;
|
||||||
|
private final IZbfProjectSectionService iZbfProjectSectionService;
|
||||||
|
|
||||||
|
@ApiOperation("总包方项目分包详情-分包信息")
|
||||||
|
@GetMapping("/info/{id}")
|
||||||
|
public AjaxResult<ZbfProjectSubcontractingDetailVO> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable("id") Long id) {
|
||||||
|
ZbfProjectSubcontracting zbfProjectSubcontracting = iZbfProjectSubcontractingService.queryById(id);
|
||||||
|
ZbfProjectSubcontractingDetailVO vo = BeanUtil.copyProperties(zbfProjectSubcontracting, ZbfProjectSubcontractingDetailVO.class);
|
||||||
|
vo.setSectionName(iZbfProjectSectionService.getById(vo.getSectionId()).getSectionName());
|
||||||
|
return AjaxResult.success(vo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
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.domain.dto.CompanyAuthenticateDTO;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.zbf.service.IZbfUserService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* APP总包方用户Controller
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-03-31
|
||||||
|
*/
|
||||||
|
@Api(value = "App总包方用户控制器", tags = {"App总包方"})
|
||||||
|
@RequiredArgsConstructor(onConstructor_ = @Autowired)
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/app/zbf/user")
|
||||||
|
public class AppZbfUserController extends BaseController {
|
||||||
|
|
||||||
|
private final IZbfUserService iZbfUserService;
|
||||||
|
|
||||||
|
@ApiOperation("总包方企业认证")
|
||||||
|
@Log(title = "总包方企业认证", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit
|
||||||
|
@PutMapping()
|
||||||
|
public AjaxResult<Long> edit(@Validated @RequestBody CompanyAuthenticateDTO dto) {
|
||||||
|
return AjaxResult.success(iZbfUserService.authenticate(dto));
|
||||||
|
}
|
||||||
|
}
|
@ -1,26 +1,27 @@
|
|||||||
package com.ruoyi.zbf.controller;
|
package com.ruoyi.web.controller.zbf;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
import com.ruoyi.zbf.domain.ZbfMessage;
|
|
||||||
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.annotation.Log;
|
||||||
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
|
||||||
import com.ruoyi.zbf.bo.ZbfMessageQueryBo;
|
|
||||||
import com.ruoyi.zbf.service.IZbfMessageService;
|
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
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.ZbfMessageQueryBo;
|
||||||
|
import com.ruoyi.zbf.domain.ZbfMessage;
|
||||||
|
import com.ruoyi.zbf.service.IZbfMessageService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
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
|
* 消息Controller
|
@ -48,6 +48,15 @@ public class BgtWageApplicationVO {
|
|||||||
@ApiModelProperty("任务地址")
|
@ApiModelProperty("任务地址")
|
||||||
private String taskAddress;
|
private String taskAddress;
|
||||||
|
|
||||||
|
@ApiModelProperty("用工情况")
|
||||||
|
private String employmentSituation;
|
||||||
|
|
||||||
|
@ApiModelProperty("完工情况")
|
||||||
|
private String completionSituation;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务情况")
|
||||||
|
private String taskSituation;
|
||||||
|
|
||||||
@ApiModelProperty("审核状态(1审核中 2已审核 3未审核)")
|
@ApiModelProperty("审核状态(1审核中 2已审核 3未审核)")
|
||||||
private String auditStatus;
|
private String auditStatus;
|
||||||
}
|
}
|
||||||
|
@ -76,7 +76,7 @@ public interface IBgtProjectTaskProgressService extends IServicePlus<BgtProjectT
|
|||||||
Boolean fbsAudit(BgtProjectTaskProgress bo);
|
Boolean fbsAudit(BgtProjectTaskProgress bo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据任务Id查询任务最新进度-列表
|
* 根据任务Id查询各个任务最新进度-列表
|
||||||
*/
|
*/
|
||||||
List<BgtProjectTaskProgress> getProgressByTaskIds(List<Long> taskIds);
|
List<BgtProjectTaskProgress> getProgressByTaskIds(List<Long> taskIds);
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ package com.ruoyi.common.util;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
|
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
@ -123,4 +124,39 @@ public class DataUtil {
|
|||||||
Period period = Period.between(birth, now);
|
Period period = Period.between(birth, now);
|
||||||
return period.getYears();
|
return period.getYears();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------总包方-----------------------------------------------------
|
||||||
|
|
||||||
|
public static List<ZbfDayAttendanceCountVO> zbfFillMissingDates(List<ZbfDayAttendanceCountVO> countVOS, LocalDate startDate, LocalDate endDate) {
|
||||||
|
// 使用 HashSet 存储已有的日期,方便快速查找
|
||||||
|
Set<LocalDate> existingDates = new HashSet<>();
|
||||||
|
for (ZbfDayAttendanceCountVO vo : countVOS) {
|
||||||
|
existingDates.add(vo.getDate());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建一个新的列表,用于存储补充后的结果
|
||||||
|
List<ZbfDayAttendanceCountVO> filledList = new ArrayList<>(countVOS);
|
||||||
|
|
||||||
|
// 遍历日期范围,补充缺失的日期
|
||||||
|
LocalDate currentDate = startDate;
|
||||||
|
while (!currentDate.isAfter(endDate)) {
|
||||||
|
if (!existingDates.contains(currentDate)) {
|
||||||
|
// 如果当前日期不在已有日期集合中,创建一个新的 BgtAttendanceCountVO 对象并添加到结果列表中
|
||||||
|
filledList.add(new ZbfDayAttendanceCountVO(0,currentDate));
|
||||||
|
}
|
||||||
|
// 日期递增一天
|
||||||
|
currentDate = currentDate.plusDays(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对结果列表按日期排序
|
||||||
|
filledList.sort(Comparator.comparing(ZbfDayAttendanceCountVO::getDate));
|
||||||
|
|
||||||
|
return filledList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ import lombok.experimental.Accessors;
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("分包商任务进度列表试图对象")
|
@ApiModel("分包商任务进度列表视图对象")
|
||||||
public class FbsProgressListVO {
|
public class FbsProgressListVO {
|
||||||
|
|
||||||
@ApiModelProperty("主键ID")
|
@ApiModelProperty("主键ID")
|
||||||
|
@ -10,7 +10,6 @@ import java.math.BigDecimal;
|
|||||||
@ApiModel("分包商项目分包列表")
|
@ApiModel("分包商项目分包列表")
|
||||||
public class FbsProjectSubcontractingListVO {
|
public class FbsProjectSubcontractingListVO {
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty("主键ID")
|
@ApiModelProperty("主键ID")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ -20,19 +19,18 @@ public class FbsProjectSubcontractingListVO {
|
|||||||
@ApiModelProperty("项目地址")
|
@ApiModelProperty("项目地址")
|
||||||
private String projectAddress;
|
private String projectAddress;
|
||||||
|
|
||||||
/** 标段ID */
|
|
||||||
@ApiModelProperty("标段ID")
|
@ApiModelProperty("标段ID")
|
||||||
private Long sectionId;
|
private Long sectionId;
|
||||||
/** 分包主题 */
|
|
||||||
@ApiModelProperty("分包主题")
|
@ApiModelProperty("分包主题")
|
||||||
private String subName;
|
private String subName;
|
||||||
/** 分包描述 */
|
|
||||||
@ApiModelProperty("分包描述")
|
@ApiModelProperty("分包描述")
|
||||||
private String subDescribe;
|
private String subDescribe;
|
||||||
/** 分包金额 */
|
|
||||||
@ApiModelProperty("分包金额")
|
@ApiModelProperty("分包金额")
|
||||||
private BigDecimal subAmount;
|
private BigDecimal subAmount;
|
||||||
/** 资质要求 */
|
|
||||||
@ApiModelProperty("资质要求")
|
@ApiModelProperty("资质要求")
|
||||||
private String qualification;
|
private String qualification;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
|
|||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("App包工头项目详情-任务进度视图对象")
|
@ApiModel("App分包商项目详情-任务进度视图对象")
|
||||||
public class FbsProjectTaskDetailProgressVO{
|
public class FbsProjectTaskDetailProgressVO{
|
||||||
|
|
||||||
@ApiModelProperty("总进度")
|
@ApiModelProperty("总进度")
|
||||||
|
@ -17,7 +17,7 @@ import java.math.BigDecimal;
|
|||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("App包工头项目详情-结算情况视图对象")
|
@ApiModel("App分包商项目详情-结算情况视图对象")
|
||||||
public class FbsProjectTaskDetailWageVO {
|
public class FbsProjectTaskDetailWageVO {
|
||||||
|
|
||||||
@ApiModelProperty("总金额")
|
@ApiModelProperty("总金额")
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
package com.ruoyi.wgz.mapper;
|
package com.ruoyi.wgz.mapper;
|
||||||
|
|
||||||
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
|
||||||
import com.ruoyi.wgz.domain.WgzAttendance;
|
|
||||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
|
||||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
|
||||||
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
|
import com.ruoyi.bgt.domain.vo.BgtAttendanceCountVO;
|
||||||
|
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
||||||
|
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||||
|
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||||
|
import com.ruoyi.wgz.domain.WgzAttendance;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO;
|
||||||
import org.apache.ibatis.annotations.CacheNamespace;
|
import org.apache.ibatis.annotations.CacheNamespace;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -28,8 +29,13 @@ public interface WgzAttendanceMapper extends BaseMapperPlus<WgzAttendance> {
|
|||||||
List<BgtDayAttendanceCountVO> countDayByTaskId(@Param("taskId") Long taskId, @Param("beginDate")LocalDate beginDate
|
List<BgtDayAttendanceCountVO> countDayByTaskId(@Param("taskId") Long taskId, @Param("beginDate")LocalDate beginDate
|
||||||
, @Param("endDate")LocalDate endDate);
|
, @Param("endDate")LocalDate endDate);
|
||||||
|
|
||||||
|
List<ZbfDayAttendanceCountVO> countDayByProjectId(@Param("projectId") Long projectId, @Param("beginDate")LocalDate beginDate
|
||||||
|
, @Param("endDate")LocalDate endDate);
|
||||||
|
|
||||||
Integer dayTotalNum(@Param("taskId") Long taskId, @Param("date")LocalDate date);
|
Integer dayTotalNum(@Param("taskId") Long taskId, @Param("date")LocalDate date);
|
||||||
|
|
||||||
|
Integer dayTotalNumByProjectId(@Param("projectId") Long projectId, @Param("date")LocalDate date);
|
||||||
|
|
||||||
Integer monthTotalNum(@Param("taskId") Long taskId, @Param("beginDate")LocalDate beginDate
|
Integer monthTotalNum(@Param("taskId") Long taskId, @Param("beginDate")LocalDate beginDate
|
||||||
, @Param("endDate")LocalDate endDate);
|
, @Param("endDate")LocalDate endDate);
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ import com.ruoyi.wgz.bo.res.WgzAppCardReplacementApplicationRes;
|
|||||||
import com.ruoyi.wgz.bo.res.WgzAppPunchTheCalendarRecordRes;
|
import com.ruoyi.wgz.bo.res.WgzAppPunchTheCalendarRecordRes;
|
||||||
import com.ruoyi.wgz.bo.res.WgzAppUserClockingConditionRes;
|
import com.ruoyi.wgz.bo.res.WgzAppUserClockingConditionRes;
|
||||||
import com.ruoyi.wgz.domain.WgzAttendance;
|
import com.ruoyi.wgz.domain.WgzAttendance;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
@ -115,10 +116,20 @@ public interface IWgzAttendanceService extends IServicePlus<WgzAttendance> {
|
|||||||
List<BgtDayAttendanceCountVO> countDayByTaskId(Long taskId, LocalDate beginDate, LocalDate endDate);
|
List<BgtDayAttendanceCountVO> countDayByTaskId(Long taskId, LocalDate beginDate, LocalDate endDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计某天应打卡人数
|
* 统计项目每天打卡情况
|
||||||
|
*/
|
||||||
|
List<ZbfDayAttendanceCountVO> countDayByProjectId(Long projectId, LocalDate beginDate, LocalDate endDate);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计任务某天应打卡人数
|
||||||
*/
|
*/
|
||||||
Integer dayTotalNum(Long taskId,LocalDate date);
|
Integer dayTotalNum(Long taskId,LocalDate date);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计项目某天应打卡人数
|
||||||
|
*/
|
||||||
|
Integer dayTotalNumByProjectId(Long projectId,LocalDate date);
|
||||||
|
|
||||||
Integer monthTotalNum(Long taskId,LocalDate beginDate, LocalDate endDate);
|
Integer monthTotalNum(Long taskId,LocalDate beginDate, LocalDate endDate);
|
||||||
/**
|
/**
|
||||||
* 总体考勤情况-统计
|
* 总体考勤情况-统计
|
||||||
|
@ -37,6 +37,7 @@ import com.ruoyi.wgz.domain.WgzReissueacard;
|
|||||||
import com.ruoyi.wgz.mapper.WgzAttendanceMapper;
|
import com.ruoyi.wgz.mapper.WgzAttendanceMapper;
|
||||||
import com.ruoyi.wgz.service.IWgzAttendanceService;
|
import com.ruoyi.wgz.service.IWgzAttendanceService;
|
||||||
import com.ruoyi.wgz.service.IWgzReissueacardService;
|
import com.ruoyi.wgz.service.IWgzReissueacardService;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -459,11 +460,21 @@ public class WgzAttendanceServiceImpl extends ServicePlusImpl<WgzAttendanceMappe
|
|||||||
return baseMapper.countDayByTaskId(taskId, beginDate, endDate);
|
return baseMapper.countDayByTaskId(taskId, beginDate, endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ZbfDayAttendanceCountVO> countDayByProjectId(Long projectId, LocalDate beginDate, LocalDate endDate) {
|
||||||
|
return baseMapper.countDayByProjectId(projectId, beginDate, endDate);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer dayTotalNum(Long taskId,LocalDate date){
|
public Integer dayTotalNum(Long taskId,LocalDate date){
|
||||||
return baseMapper.dayTotalNum(taskId,date);
|
return baseMapper.dayTotalNum(taskId,date);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer dayTotalNumByProjectId(Long projectId, LocalDate date) {
|
||||||
|
return baseMapper.dayTotalNumByProjectId(projectId,date);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer monthTotalNum(Long taskId,LocalDate beginDate, LocalDate endDate){
|
public Integer monthTotalNum(Long taskId,LocalDate beginDate, LocalDate endDate){
|
||||||
return baseMapper.monthTotalNum(taskId,beginDate,endDate);
|
return baseMapper.monthTotalNum(taskId,beginDate,endDate);
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.zbf.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("总包方任务进度列表查询对象")
|
||||||
|
public class ZbfProgressListDTO {
|
||||||
|
/** 分页大小 */
|
||||||
|
@ApiModelProperty("分页大小")
|
||||||
|
private Integer pageSize;
|
||||||
|
/** 当前页数 */
|
||||||
|
@ApiModelProperty("当前页数")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.zbf.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("分包商项目分包申请列表查询条件")
|
||||||
|
public class ZbfProjectSubApplyListDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty("分页大小")
|
||||||
|
private Integer pageSize;
|
||||||
|
/** 当前页数 */
|
||||||
|
@ApiModelProperty("当前页数")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包ID")
|
||||||
|
@NotNull(message = "分包ID不能为空")
|
||||||
|
private Long subId;
|
||||||
|
|
||||||
|
@ApiModelProperty("名字")
|
||||||
|
private String username;
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.ruoyi.zbf.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("分包商项目切换列表查询条件")
|
||||||
|
public class ZbfProjectSwitchListDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty("分页大小")
|
||||||
|
private Integer pageSize;
|
||||||
|
/** 当前页数 */
|
||||||
|
@ApiModelProperty("当前页数")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目名称")
|
||||||
|
private String projectName;
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.ruoyi.zbf.domain.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("分包商项目分包切换列表查询条件")
|
||||||
|
public class ZbfSubSwitchListDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty("分页大小")
|
||||||
|
private Integer pageSize;
|
||||||
|
/** 当前页数 */
|
||||||
|
@ApiModelProperty("当前页数")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("总包方用户")
|
||||||
|
private Long zbfUserId;
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("总包方考勤统计")
|
||||||
|
public class ZbfAttendanceCountVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("人员总数")
|
||||||
|
private Integer totalCount;
|
||||||
|
|
||||||
|
@ApiModelProperty("到岗人数")
|
||||||
|
private Integer reportToDutyNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("到岗率")
|
||||||
|
private Integer rate;
|
||||||
|
|
||||||
|
@ApiModelProperty("列表")
|
||||||
|
List<ZbfDayAttendanceCountVO> countList;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤打卡对象 wgz_attendance
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-20
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@ApiModel("务工者每天考勤打卡统计对象")
|
||||||
|
public class ZbfDayAttendanceCountVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("到岗人数")
|
||||||
|
private Integer reportToDutyNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("日期")
|
||||||
|
private LocalDate date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("总包方用工数量统计")
|
||||||
|
public class ZbfPersonCountVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("人员总数")
|
||||||
|
private Integer totalCount;
|
||||||
|
|
||||||
|
@ApiModelProperty("班组长")
|
||||||
|
private Integer bgtCount;
|
||||||
|
|
||||||
|
@ApiModelProperty("务工者")
|
||||||
|
private Integer wgzCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("总包方项目进度列表视图对象")
|
||||||
|
public class ZbfProgressListVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("进度")
|
||||||
|
private Integer progress;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目名称")
|
||||||
|
private String taskName;
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包工头项目任务进度对象 bgt_project_task_progress
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-18
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("App总包方项目详情-任务进度视图对象")
|
||||||
|
public class ZbfProjectDetailProgressVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("总进度")
|
||||||
|
private Integer totalProgress = 0;
|
||||||
|
|
||||||
|
@ApiModelProperty("进度")
|
||||||
|
private Integer progress = 0;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("总包方项目详情-标段信息")
|
||||||
|
public class ZbfProjectDetailSectionVO {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("包总数")
|
||||||
|
private Integer subNumber;
|
||||||
|
|
||||||
|
@ApiModelProperty("标段列表")
|
||||||
|
private List<ZbfProjectSectionListVO> sectionList;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("总包方项目详情")
|
||||||
|
public class ZbfProjectDetailVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目名称")
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
@ApiModelProperty("单位名称")
|
||||||
|
private String unitName;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目地址")
|
||||||
|
private String projectAddress;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目图片")
|
||||||
|
private String projectImg;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目状态(0-未开工,1-已开工,2已竣工,3已停工)")
|
||||||
|
private String projectStatus;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 包工头项目任务进度对象 bgt_project_task_progress
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-18
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("App总包方项目详情-付款情况视图对象")
|
||||||
|
public class ZbfProjectDetailWageVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("总金额")
|
||||||
|
private BigDecimal totalAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty("已结算金额")
|
||||||
|
private BigDecimal payAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty("劳务工资")
|
||||||
|
private BigDecimal wgzAmount;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -7,7 +7,7 @@ import lombok.Data;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel("分包商项目列表")
|
@ApiModel("总包方项目列表")
|
||||||
public class ZbfProjectListVO {
|
public class ZbfProjectListVO {
|
||||||
|
|
||||||
@ApiModelProperty("主键ID")
|
@ApiModelProperty("主键ID")
|
||||||
|
@ -7,7 +7,7 @@ import lombok.Data;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel("分包商项目标段列表")
|
@ApiModel("总包方项目标段列表")
|
||||||
public class ZbfProjectSectionListVO {
|
public class ZbfProjectSectionListVO {
|
||||||
|
|
||||||
@ApiModelProperty("主键ID")
|
@ApiModelProperty("主键ID")
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel("总包方项目分包申请列表")
|
||||||
|
public class ZbfProjectSubcontractingApplyListVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty("标段ID")
|
||||||
|
private Long sectionId;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包ID")
|
||||||
|
private Long subId;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包商用户ID")
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
|
private Long fbsUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty("姓名")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
@ApiModelProperty("电话")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
@ApiModelProperty("电话")
|
||||||
|
private String avatarName;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请状态(0申请中 1已同意 2已拒绝 3 已取消)")
|
||||||
|
private String applyStatus;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,53 @@
|
|||||||
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目分包对象 zbf_project_subcontracting
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-02-17
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("总包方项目分包详情视图对象")
|
||||||
|
public class ZbfProjectSubcontractingDetailVO {
|
||||||
|
|
||||||
|
/** 主键ID */
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty("标段ID")
|
||||||
|
private Long sectionId;
|
||||||
|
|
||||||
|
@ApiModelProperty("标段名")
|
||||||
|
private String sectionName;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包主题")
|
||||||
|
private String subName;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包描述")
|
||||||
|
private String subDescribe;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包金额")
|
||||||
|
private BigDecimal subAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty("资质要求")
|
||||||
|
private String qualification;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包商用户ID")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
@ApiModelProperty("备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.zbf.domain.vo;
|
package com.ruoyi.zbf.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -7,7 +8,7 @@ import lombok.Data;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ApiModel("分包商项目分包列表")
|
@ApiModel("总包方项目分包列表")
|
||||||
public class ZbfProjectSubcontractingListVO {
|
public class ZbfProjectSubcontractingListVO {
|
||||||
|
|
||||||
|
|
||||||
@ -36,6 +37,10 @@ public class ZbfProjectSubcontractingListVO {
|
|||||||
@ApiModelProperty("资质要求")
|
@ApiModelProperty("资质要求")
|
||||||
private String qualification;
|
private String qualification;
|
||||||
|
|
||||||
|
@ApiModelProperty("用户Id")
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
@ApiModelProperty("申请状态(0=申请中,1=已同意,2=已拒绝,3=已取消)")
|
@ApiModelProperty("申请状态(0=申请中,1=已同意,2=已拒绝,3=已取消)")
|
||||||
private String applyStatus;
|
private String applyStatus;
|
||||||
|
|
||||||
|
@ -0,0 +1,89 @@
|
|||||||
|
package com.ruoyi.zbf.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.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分包商工资申请对象 fbs_wage_application
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-03-26
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("总包方工资申请审核视图对象")
|
||||||
|
public class ZbfWageApplicationVO {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目ID")
|
||||||
|
private Long projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目名称")
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
@ApiModelProperty("标段ID")
|
||||||
|
private Long sectionId;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包ID")
|
||||||
|
private Long subId;
|
||||||
|
|
||||||
|
@ApiModelProperty("分包主题")
|
||||||
|
private String subName;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务地址(项目地址)")
|
||||||
|
private String projectAddress;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请人ID")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请人")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
@ApiModelProperty("银行")
|
||||||
|
private String bank;
|
||||||
|
|
||||||
|
@ApiModelProperty("银行卡号")
|
||||||
|
private String cardNo;
|
||||||
|
|
||||||
|
@ApiModelProperty("联系电话")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请金额")
|
||||||
|
private BigDecimal applicantAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||||
|
private LocalDateTime applyTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("用工情况")
|
||||||
|
private String employmentSituation;
|
||||||
|
|
||||||
|
@ApiModelProperty("完工情况")
|
||||||
|
private String completionSituation;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务情况")
|
||||||
|
private String taskSituation;
|
||||||
|
|
||||||
|
@ApiModelProperty("审核状态(1审核中 2已审核 3未通过)")
|
||||||
|
private String auditStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("审核人Id")
|
||||||
|
private Long reviewerId;
|
||||||
|
|
||||||
|
@ApiModelProperty("审核人名字")
|
||||||
|
private String reviewerName;
|
||||||
|
|
||||||
|
@ApiModelProperty("备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
}
|
@ -7,6 +7,8 @@ import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
|||||||
import com.ruoyi.fbs.domain.dto.FbsProjectSectionListDTO;
|
import com.ruoyi.fbs.domain.dto.FbsProjectSectionListDTO;
|
||||||
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
|
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfSubSwitchListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
|
||||||
import org.apache.ibatis.annotations.CacheNamespace;
|
import org.apache.ibatis.annotations.CacheNamespace;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -23,4 +25,7 @@ public interface ZbfProjectSectionMapper extends BaseMapperPlus<ZbfProjectSectio
|
|||||||
// 查询分包商已加入的项目标段
|
// 查询分包商已加入的项目标段
|
||||||
Page<FbsProjectSectionListVO> joinSectionList(@Param("page") Page<FbsProjectSectionListDTO> page, @Param("dto") FbsProjectSectionListDTO dto);
|
Page<FbsProjectSectionListVO> joinSectionList(@Param("page") Page<FbsProjectSectionListDTO> page, @Param("dto") FbsProjectSectionListDTO dto);
|
||||||
|
|
||||||
|
// 总包方分包切换列表
|
||||||
|
Page<ZbfProjectSectionListVO> zbfSubSwitchList(@Param("page") Page<ZbfSubSwitchListDTO> page, @Param("dto") ZbfSubSwitchListDTO dto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package com.ruoyi.zbf.mapper;
|
package com.ruoyi.zbf.mapper;
|
||||||
|
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
|
||||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||||
|
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||||
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO;
|
||||||
import org.apache.ibatis.annotations.CacheNamespace;
|
import org.apache.ibatis.annotations.CacheNamespace;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总包方项目分包申请Mapper接口
|
* 总包方项目分包申请Mapper接口
|
||||||
@ -15,4 +19,7 @@ import org.apache.ibatis.annotations.CacheNamespace;
|
|||||||
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
|
@CacheNamespace(implementation = MybatisPlusRedisCache.class, eviction = MybatisPlusRedisCache.class)
|
||||||
public interface ZbfProjectSubcontractingApplyMapper extends BaseMapperPlus<ZbfProjectSubcontractingApply> {
|
public interface ZbfProjectSubcontractingApplyMapper extends BaseMapperPlus<ZbfProjectSubcontractingApply> {
|
||||||
|
|
||||||
|
|
||||||
|
//总包方获取分包商申请列表
|
||||||
|
Page<ZbfProjectSubcontractingApplyListVO> getFbsList(@Param("page") Page<ZbfProjectSubApplyListDTO> page, @Param("dto") ZbfProjectSubApplyListDTO dto);
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@ import com.ruoyi.fbs.domain.dto.FbsProjectSectionListDTO;
|
|||||||
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
|
import com.ruoyi.fbs.domain.vo.FbsProjectSectionListVO;
|
||||||
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
|
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfSubSwitchListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -61,4 +63,10 @@ public interface IZbfProjectSectionService extends IServicePlus<ZbfProjectSectio
|
|||||||
* 分包商查询自己的项目分包列表
|
* 分包商查询自己的项目分包列表
|
||||||
*/
|
*/
|
||||||
TableDataInfo<FbsProjectSectionListVO> fbsSubList(FbsProjectSectionListDTO dto) ;
|
TableDataInfo<FbsProjectSectionListVO> fbsSubList(FbsProjectSectionListDTO dto) ;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方分包切换列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<ZbfProjectSectionListVO> zbfSubSwitchList(ZbfSubSwitchListDTO dto);
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,11 @@ import com.ruoyi.fbs.domain.dto.FbsProjectListDTO;
|
|||||||
import com.ruoyi.fbs.domain.vo.*;
|
import com.ruoyi.fbs.domain.vo.*;
|
||||||
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
|
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
|
||||||
import com.ruoyi.zbf.domain.ZbfProject;
|
import com.ruoyi.zbf.domain.ZbfProject;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfProgressListDTO;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
|
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
|
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectCountVO;
|
import com.ruoyi.zbf.domain.dto.ZbfProjectSwitchListDTO;
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectListVO;
|
import com.ruoyi.zbf.domain.vo.*;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -139,10 +140,57 @@ public interface IZbfProjectService extends IServicePlus<ZbfProject> {
|
|||||||
TableDataInfo<ZbfProjectListVO> queryZbfList(ZbfProjectListDTO dto);
|
TableDataInfo<ZbfProjectListVO> queryZbfList(ZbfProjectListDTO dto);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总包方查询自建项目统计
|
* 总包方项目统计
|
||||||
*/
|
*/
|
||||||
ZbfProjectCountVO projectCount();
|
ZbfProjectCountVO projectCount();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目列表(精简)
|
||||||
|
*/
|
||||||
|
TableDataInfo<ZbfProject> conciseList(ZbfProjectListDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目信息
|
||||||
|
*/
|
||||||
|
ZbfProjectDetailVO zbfInfo(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-标段信息
|
||||||
|
*/
|
||||||
|
ZbfProjectDetailSectionVO sectionInfo(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-用工数量
|
||||||
|
*/
|
||||||
|
ZbfPersonCountVO personCount(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-考勤情况
|
||||||
|
*/
|
||||||
|
ZbfAttendanceCountVO attendanceCount(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-用工进度
|
||||||
|
*/
|
||||||
|
ZbfProjectDetailProgressVO zbfProgress(Long projectId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-用工进度列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<ZbfProgressListVO> zbfProgressList(ZbfProgressListDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-付款情况
|
||||||
|
*/
|
||||||
|
ZbfProjectDetailWageVO zbfWage(Long projectId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-付款情况查看更多
|
||||||
|
*/
|
||||||
|
TableDataInfo<ZbfWageApplicationVO> zbfWageList(Long projectId);
|
||||||
|
/**
|
||||||
|
* 总包方项目详情-项目切换
|
||||||
|
*/
|
||||||
|
TableDataInfo<ZbfProject> zbfSwitchList(ZbfProjectSwitchListDTO dto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package com.ruoyi.zbf.service;
|
package com.ruoyi.zbf.service;
|
||||||
|
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
|
||||||
import com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo;
|
|
||||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.zbf.bo.ZbfProjectSubcontractingApplyQueryBo;
|
||||||
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -57,4 +59,11 @@ public interface IZbfProjectSubcontractingApplyService extends IServicePlus<ZbfP
|
|||||||
* 总包方选择分包商
|
* 总包方选择分包商
|
||||||
*/
|
*/
|
||||||
Boolean choose(Long id);
|
Boolean choose(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 总包方查看分包商申请列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<ZbfProjectSubcontractingApplyListVO> getFbsList(ZbfProjectSubApplyListDTO dto);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -53,4 +53,5 @@ public interface IZbfProjectSubcontractingService extends IServicePlus<ZbfProjec
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.ruoyi.zbf.service;
|
|||||||
import com.ruoyi.common.core.domain.entity.ZbfUser;
|
import com.ruoyi.common.core.domain.entity.ZbfUser;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.domain.dto.CompanyAuthenticateDTO;
|
||||||
import com.ruoyi.zbf.bo.ZbfUserQueryBo;
|
import com.ruoyi.zbf.bo.ZbfUserQueryBo;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -62,4 +63,9 @@ public interface IZbfUserService extends IServicePlus<ZbfUser> {
|
|||||||
* 通过userId查询用户
|
* 通过userId查询用户
|
||||||
*/
|
*/
|
||||||
ZbfUser selectUserByUserId(Long userId);
|
ZbfUser selectUserByUserId(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 企业认证
|
||||||
|
*/
|
||||||
|
Long authenticate(CompanyAuthenticateDTO dto);
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,9 @@ import com.ruoyi.fbs.domain.vo.FbsProjectSubcontractingListVO;
|
|||||||
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
|
import com.ruoyi.zbf.bo.ZbfProjectSectionQueryBo;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfSubSwitchListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingListVO;
|
||||||
import com.ruoyi.zbf.mapper.ZbfProjectSectionMapper;
|
import com.ruoyi.zbf.mapper.ZbfProjectSectionMapper;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
|
import com.ruoyi.zbf.service.IZbfProjectSubcontractingService;
|
||||||
@ -121,4 +124,31 @@ public class ZbfProjectSectionServiceImpl extends ServicePlusImpl<ZbfProjectSect
|
|||||||
|
|
||||||
return PageUtils.buildDataInfo(queryVOPage);
|
return PageUtils.buildDataInfo(queryVOPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ZbfProjectSectionListVO> zbfSubSwitchList(ZbfSubSwitchListDTO dto) {
|
||||||
|
Page<ZbfSubSwitchListDTO> queryDTOPage = new Page<>();
|
||||||
|
queryDTOPage.setCurrent(dto.getPageNum());
|
||||||
|
queryDTOPage.setSize(dto.getPageSize());
|
||||||
|
dto.setZbfUserId(SecurityUtils.getAppUserId());
|
||||||
|
Page<ZbfProjectSectionListVO> queryVOPage = baseMapper.zbfSubSwitchList(queryDTOPage, dto);
|
||||||
|
for (ZbfProjectSectionListVO sectionListVO : queryVOPage.getRecords()){
|
||||||
|
//分包处理
|
||||||
|
List<ZbfProjectSubcontractingListVO> subListVO = new ArrayList<>();
|
||||||
|
//查询标段下的所有的分包
|
||||||
|
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
||||||
|
.eq(ZbfProjectSubcontracting::getSectionId, sectionListVO.getId())
|
||||||
|
);
|
||||||
|
|
||||||
|
for (ZbfProjectSubcontracting sub : subList){
|
||||||
|
ZbfProjectSubcontractingListVO zbfProjectSubcontractingListVO = new ZbfProjectSubcontractingListVO();
|
||||||
|
BeanUtil.copyProperties(sub, zbfProjectSubcontractingListVO);
|
||||||
|
zbfProjectSubcontractingListVO.setProjectAddress(sectionListVO.getProjectAddress());
|
||||||
|
subListVO.add(zbfProjectSubcontractingListVO);
|
||||||
|
}
|
||||||
|
sectionListVO.setSubList(subListVO);
|
||||||
|
|
||||||
|
}
|
||||||
|
return PageUtils.buildDataInfo(queryVOPage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,14 +6,18 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||||
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
|
import com.ruoyi.bgt.domain.BgtProjectTaskProgress;
|
||||||
import com.ruoyi.bgt.domain.BgtWageApplication;
|
import com.ruoyi.bgt.domain.BgtWageApplication;
|
||||||
|
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||||
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
||||||
import com.ruoyi.bgt.service.IBgtWageApplicationService;
|
import com.ruoyi.bgt.service.IBgtWageApplicationService;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.ProjectStatus;
|
import com.ruoyi.common.enums.ProjectStatus;
|
||||||
|
import com.ruoyi.common.enums.RecruitApplyStatus;
|
||||||
import com.ruoyi.common.enums.SubcontractingApplyStatus;
|
import com.ruoyi.common.enums.SubcontractingApplyStatus;
|
||||||
|
import com.ruoyi.common.util.DataUtil;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.fbs.domain.FbsProjectTask;
|
import com.ruoyi.fbs.domain.FbsProjectTask;
|
||||||
@ -23,19 +27,14 @@ import com.ruoyi.fbs.domain.dto.FbsProjectListDTO;
|
|||||||
import com.ruoyi.fbs.domain.vo.*;
|
import com.ruoyi.fbs.domain.vo.*;
|
||||||
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
import com.ruoyi.fbs.service.IFbsProjectTaskService;
|
||||||
import com.ruoyi.fbs.service.IFbsWageApplicationService;
|
import com.ruoyi.fbs.service.IFbsWageApplicationService;
|
||||||
|
import com.ruoyi.wgz.service.IWgzAttendanceService;
|
||||||
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
|
import com.ruoyi.zbf.bo.ZbfProjectQueryBo;
|
||||||
import com.ruoyi.zbf.domain.ZbfProject;
|
import com.ruoyi.zbf.domain.ZbfProject;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
import com.ruoyi.zbf.domain.ZbfProjectSection;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectAddDTO;
|
import com.ruoyi.zbf.domain.dto.*;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectListDTO;
|
import com.ruoyi.zbf.domain.vo.*;
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectSectionAddDTO;
|
|
||||||
import com.ruoyi.zbf.domain.dto.ZbfProjectSubcontractingAddDTO;
|
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectCountVO;
|
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectListVO;
|
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO;
|
|
||||||
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingListVO;
|
|
||||||
import com.ruoyi.zbf.mapper.ZbfProjectMapper;
|
import com.ruoyi.zbf.mapper.ZbfProjectMapper;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
import com.ruoyi.zbf.service.IZbfProjectSectionService;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||||
@ -46,6 +45,8 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -72,6 +73,11 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|||||||
private IFbsWageApplicationService fbsWageApplicationService;
|
private IFbsWageApplicationService fbsWageApplicationService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBgtWageApplicationService bgtWageApplicationService;
|
private IBgtWageApplicationService bgtWageApplicationService;
|
||||||
|
@Autowired
|
||||||
|
private IBgtProjectRecruitApplyService bgtProjectRecruitApplyService;
|
||||||
|
@Autowired
|
||||||
|
private IWgzAttendanceService wgzAttendanceService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ZbfProject queryById(Long id) {
|
public ZbfProject queryById(Long id) {
|
||||||
@ -632,9 +638,161 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|||||||
List<ZbfProject> list = list(wrapper);
|
List<ZbfProject> list = list(wrapper);
|
||||||
zbfProjectCountVO.setAllCount(list.size());
|
zbfProjectCountVO.setAllCount(list.size());
|
||||||
long startCount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.START.getCode())).count();
|
long startCount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.START.getCode())).count();
|
||||||
long completeCcount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.COMPLETE.getCode())).count();
|
long completeCount = list.stream().filter(zbfProject -> StrUtil.equals(zbfProject.getProjectStatus(), ProjectStatus.COMPLETE.getCode())).count();
|
||||||
zbfProjectCountVO.setStartCount((int) startCount);
|
zbfProjectCountVO.setStartCount((int) startCount);
|
||||||
zbfProjectCountVO.setCompleteCount((int) completeCcount);
|
zbfProjectCountVO.setCompleteCount((int) completeCount);
|
||||||
return zbfProjectCountVO;
|
return zbfProjectCountVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ZbfProject> conciseList(ZbfProjectListDTO dto) {
|
||||||
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
|
||||||
|
wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName());
|
||||||
|
wrapper.eq(StrUtil.isNotBlank(dto.getProjectStatus()), ZbfProject::getProjectStatus, dto.getProjectStatus());
|
||||||
|
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
|
||||||
|
return PageUtils.buildDataInfo(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZbfProjectDetailVO zbfInfo(Long id) {
|
||||||
|
ZbfProject project = getById(id);
|
||||||
|
return BeanUtil.copyProperties(project, ZbfProjectDetailVO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZbfProjectDetailSectionVO sectionInfo(Long id) {
|
||||||
|
ZbfProjectDetailSectionVO zbfProjectDetailSectionVO = new ZbfProjectDetailSectionVO();
|
||||||
|
//标段处理
|
||||||
|
List<ZbfProjectSectionListVO> sectionListVO = new ArrayList<>();
|
||||||
|
int subNumber = 0;
|
||||||
|
//查询项目下的所有标段
|
||||||
|
List<ZbfProjectSection> sectionList = zbfProjectSectionService.list(Wrappers.<ZbfProjectSection>lambdaQuery()
|
||||||
|
.eq(ZbfProjectSection::getProjectId, id));
|
||||||
|
for (ZbfProjectSection zbfProjectSection : sectionList) {
|
||||||
|
//查询标段下的所有的分包
|
||||||
|
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
||||||
|
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
|
||||||
|
ZbfProjectSectionListVO zbfProjectSectionListVO = new ZbfProjectSectionListVO();
|
||||||
|
BeanUtil.copyProperties(zbfProjectSection, zbfProjectSectionListVO);
|
||||||
|
zbfProjectSectionListVO.setSubList(BeanUtil.copyToList(subList, ZbfProjectSubcontractingListVO.class));
|
||||||
|
subNumber += subList.size();
|
||||||
|
sectionListVO.add(zbfProjectSectionListVO);
|
||||||
|
}
|
||||||
|
zbfProjectDetailSectionVO.setSectionList(sectionListVO);
|
||||||
|
zbfProjectDetailSectionVO.setSubNumber(subNumber);
|
||||||
|
return zbfProjectDetailSectionVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZbfPersonCountVO personCount(Long id) {
|
||||||
|
ZbfPersonCountVO zbfPersonCountVO = new ZbfPersonCountVO();
|
||||||
|
List<FbsProjectTask> list = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
|
||||||
|
.eq(FbsProjectTask::getProjectId, id)
|
||||||
|
.isNotNull(FbsProjectTask::getUserId)
|
||||||
|
);
|
||||||
|
zbfPersonCountVO.setBgtCount(list.size());
|
||||||
|
List<Long> taskIds = list.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
||||||
|
zbfPersonCountVO.setWgzCount(0);
|
||||||
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
||||||
|
//任务下的招工
|
||||||
|
List<BgtProjectRecruitApply> recruitApplyList = bgtProjectRecruitApplyService.list(Wrappers.<BgtProjectRecruitApply>lambdaQuery()
|
||||||
|
.in(BgtProjectRecruitApply::getTaskId, taskIds)
|
||||||
|
.in(BgtProjectRecruitApply::getStatus, RecruitApplyStatus.getWorkStatus())
|
||||||
|
);
|
||||||
|
zbfPersonCountVO.setWgzCount(recruitApplyList.size());
|
||||||
|
}
|
||||||
|
zbfPersonCountVO.setTotalCount(zbfPersonCountVO.getBgtCount()+zbfPersonCountVO.getWgzCount());
|
||||||
|
return zbfPersonCountVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZbfAttendanceCountVO attendanceCount(Long id) {
|
||||||
|
ZbfAttendanceCountVO vo = new ZbfAttendanceCountVO();
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
LocalDate previousDate = now.minusDays(7);
|
||||||
|
List<ZbfDayAttendanceCountVO> zbfDayAttendanceCountVOS = wgzAttendanceService.countDayByProjectId(id, previousDate, now);
|
||||||
|
List<ZbfDayAttendanceCountVO> countList = DataUtil.zbfFillMissingDates(zbfDayAttendanceCountVOS, previousDate, now);
|
||||||
|
ZbfDayAttendanceCountVO zbfDayAttendanceCountVO = countList.get(countList.size() - 1);
|
||||||
|
vo.setReportToDutyNum(zbfDayAttendanceCountVO.getReportToDutyNum());
|
||||||
|
vo.setCountList(countList);
|
||||||
|
Integer total = wgzAttendanceService.dayTotalNumByProjectId(id, now);
|
||||||
|
vo.setTotalCount(total);
|
||||||
|
vo.setRate(0);
|
||||||
|
if(total!=null && total>0){
|
||||||
|
int rate = new BigDecimal(vo.getReportToDutyNum()).divide(new BigDecimal(total), 2, RoundingMode.HALF_UP)
|
||||||
|
.multiply(new BigDecimal(100)).intValue();
|
||||||
|
vo.setRate(rate);
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZbfProjectDetailProgressVO zbfProgress(Long projectId) {
|
||||||
|
//查询所有创建的任务
|
||||||
|
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
|
||||||
|
.eq(FbsProjectTask::getProjectId, projectId)
|
||||||
|
);
|
||||||
|
ZbfProjectDetailProgressVO vo = new ZbfProjectDetailProgressVO();
|
||||||
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
||||||
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
||||||
|
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
|
||||||
|
|
||||||
|
vo.setProgress(progressByTaskIds.stream().mapToInt(BgtProjectTaskProgress::getProgress).sum());
|
||||||
|
vo.setTotalProgress(taskList.size() * 100);
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ZbfProgressListVO> zbfProgressList(ZbfProgressListDTO dto) {
|
||||||
|
Page<ZbfProgressListVO> voPage = new Page<>();
|
||||||
|
//查询所有创建的任务
|
||||||
|
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
|
||||||
|
.eq(FbsProjectTask::getProjectId, dto)
|
||||||
|
);
|
||||||
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
||||||
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
||||||
|
TableDataInfo<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(dto.getPageSize(), dto.getPageNum(), taskIds);
|
||||||
|
voPage.setTotal(progressByTaskIds.getTotal());
|
||||||
|
voPage.setRecords(BeanUtil.copyToList(progressByTaskIds.getRows(), ZbfProgressListVO.class));
|
||||||
|
}
|
||||||
|
return PageUtils.buildDataInfo(voPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ZbfProjectDetailWageVO zbfWage(Long projectId) {
|
||||||
|
ZbfProjectDetailWageVO vo = new ZbfProjectDetailWageVO();
|
||||||
|
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
||||||
|
.eq(ZbfProjectSubcontracting::getProjectId, projectId)
|
||||||
|
);
|
||||||
|
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
|
//总金额
|
||||||
|
BigDecimal totalAmount = subList.stream().map(ZbfProjectSubcontracting::getSubAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
vo.setTotalAmount(totalAmount);
|
||||||
|
|
||||||
|
//接收金额
|
||||||
|
vo.setPayAmount(BigDecimal.ZERO);
|
||||||
|
if(CollectionUtil.isNotEmpty(subIds)){
|
||||||
|
List<FbsWageApplication> passList= fbsWageApplicationService.getPassListBySubIds(subIds);
|
||||||
|
BigDecimal payAmount = passList.stream().map(FbsWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
vo.setPayAmount(payAmount);
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ZbfWageApplicationVO> zbfWageList(Long projectId) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ZbfProject> zbfSwitchList(ZbfProjectSwitchListDTO dto) {
|
||||||
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
|
||||||
|
wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName());
|
||||||
|
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
|
||||||
|
return PageUtils.buildDataInfo(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,8 @@ import com.ruoyi.zbf.domain.ZbfMessage;
|
|||||||
import com.ruoyi.zbf.domain.ZbfProject;
|
import com.ruoyi.zbf.domain.ZbfProject;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontracting;
|
||||||
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
import com.ruoyi.zbf.domain.ZbfProjectSubcontractingApply;
|
||||||
|
import com.ruoyi.zbf.domain.dto.ZbfProjectSubApplyListDTO;
|
||||||
|
import com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO;
|
||||||
import com.ruoyi.zbf.mapper.ZbfProjectSubcontractingApplyMapper;
|
import com.ruoyi.zbf.mapper.ZbfProjectSubcontractingApplyMapper;
|
||||||
import com.ruoyi.zbf.service.IZbfMessageService;
|
import com.ruoyi.zbf.service.IZbfMessageService;
|
||||||
import com.ruoyi.zbf.service.IZbfProjectService;
|
import com.ruoyi.zbf.service.IZbfProjectService;
|
||||||
@ -231,4 +233,13 @@ public class ZbfProjectSubcontractingApplyServiceImpl extends ServicePlusImpl<Zb
|
|||||||
// fbsMessageService.operationBatch(USERTYPE_FBS,SecurityUtils.getAppUserId(),list.stream().map(FbsProjectTaskApply::getId).collect(Collectors.toList()),SqlHelper.table(FbsProjectTaskApply.class).getTableName());
|
// fbsMessageService.operationBatch(USERTYPE_FBS,SecurityUtils.getAppUserId(),list.stream().map(FbsProjectTaskApply::getId).collect(Collectors.toList()),SqlHelper.table(FbsProjectTaskApply.class).getTableName());
|
||||||
return super.updateBatchById(list);
|
return super.updateBatchById(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<ZbfProjectSubcontractingApplyListVO> getFbsList(ZbfProjectSubApplyListDTO dto) {
|
||||||
|
Page<ZbfProjectSubApplyListDTO> queryDTOPage = new Page<>();
|
||||||
|
queryDTOPage.setCurrent(dto.getPageNum());
|
||||||
|
queryDTOPage.setSize(dto.getPageSize());
|
||||||
|
Page<ZbfProjectSubcontractingApplyListVO> fbsList = baseMapper.getFbsList(queryDTOPage, dto);
|
||||||
|
return PageUtils.buildDataInfo(fbsList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.ruoyi.common.core.domain.entity.ZbfUser;
|
import com.ruoyi.common.core.domain.entity.ZbfUser;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.domain.Company;
|
||||||
|
import com.ruoyi.common.domain.dto.CompanyAuthenticateDTO;
|
||||||
|
import com.ruoyi.common.service.ICompanyService;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.zbf.bo.ZbfUserQueryBo;
|
import com.ruoyi.zbf.bo.ZbfUserQueryBo;
|
||||||
import com.ruoyi.zbf.mapper.ZbfUserMapper;
|
import com.ruoyi.zbf.mapper.ZbfUserMapper;
|
||||||
import com.ruoyi.zbf.service.IZbfUserService;
|
import com.ruoyi.zbf.service.IZbfUserService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -27,6 +32,9 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
public class ZbfUserServiceImpl extends ServicePlusImpl<ZbfUserMapper, ZbfUser> implements IZbfUserService {
|
public class ZbfUserServiceImpl extends ServicePlusImpl<ZbfUserMapper, ZbfUser> implements IZbfUserService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICompanyService companyService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ZbfUser queryById(Long id){
|
public ZbfUser queryById(Long id){
|
||||||
return getById(id);
|
return getById(id);
|
||||||
@ -107,4 +115,14 @@ public class ZbfUserServiceImpl extends ServicePlusImpl<ZbfUserMapper, ZbfUser>
|
|||||||
public ZbfUser selectUserByUserId(Long userId) {
|
public ZbfUser selectUserByUserId(Long userId) {
|
||||||
return baseMapper.selectOne(new LambdaQueryWrapper<ZbfUser>().eq(ZbfUser::getUserId, userId));
|
return baseMapper.selectOne(new LambdaQueryWrapper<ZbfUser>().eq(ZbfUser::getUserId, userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long authenticate(CompanyAuthenticateDTO dto) {
|
||||||
|
Company company = BeanUtil.copyProperties(dto, Company.class);
|
||||||
|
companyService.save(company);
|
||||||
|
ZbfUser zbfUser = selectUserByUserId(SecurityUtils.getAppUserId());
|
||||||
|
zbfUser.setCompanyId(company.getId());
|
||||||
|
updateById(zbfUser);
|
||||||
|
return company.getId();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -288,7 +288,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
bpra.task_id
|
bpra.task_id
|
||||||
from bgt_project_recruit_apply bpra
|
from bgt_project_recruit_apply bpra
|
||||||
left join wgz_user wu on bpra.user_id = wu.user_id
|
left join wgz_user wu on bpra.user_id = wu.user_id
|
||||||
left join fbs_project_task fpt on fpt.id = bpr.task_id
|
left join fbs_project_task fpt on fpt.id = bpra.task_id
|
||||||
<where>
|
<where>
|
||||||
<if test="dto.username !=null and dto.username !='' ">
|
<if test="dto.username !=null and dto.username !='' ">
|
||||||
and wu.username like concat('%', #{dto.username}, '%')
|
and wu.username like concat('%', #{dto.username}, '%')
|
||||||
@ -303,7 +303,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
AND bpra.status in ('5','6')
|
AND bpra.status in ('5','6')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by bpra.create_time desc
|
order by bpra.id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
@ -82,7 +82,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
bwa.id,
|
bwa.id,
|
||||||
bwa.username,
|
bwa.username,
|
||||||
bwa.project_name,
|
bwa.project_name,
|
||||||
bwa.audit_status
|
bwa.audit_status,
|
||||||
|
bwa.employment_situation,
|
||||||
|
bwa.completion_situation,
|
||||||
|
bwa.task_situation
|
||||||
from bgt_wage_application bwa
|
from bgt_wage_application bwa
|
||||||
<where>
|
<where>
|
||||||
<if test="dto.reviewerId != null ">
|
<if test="dto.reviewerId != null ">
|
||||||
|
@ -52,12 +52,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
group by date order by date
|
group by date order by date
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="countDayByProjectId" resultType="com.ruoyi.zbf.domain.vo.ZbfDayAttendanceCountVO">
|
||||||
|
select count(1) as reportToDutyNum,
|
||||||
|
date
|
||||||
|
from wgz_attendance
|
||||||
|
where date between #{beginDate} and #{endDate}
|
||||||
|
and (clock_in_time is not null or clock_out_time is not null)
|
||||||
|
and recruit_id in (select id from bgt_project_recruit where project_id = #{projectId} )
|
||||||
|
group by date order by date
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="dayTotalNum" resultType="Integer">
|
<select id="dayTotalNum" resultType="Integer">
|
||||||
select count(1) from bgt_project_recruit_apply where entry_time <= #{date} and ((leave_time is null and status = '5')or leave_time>=#{date})
|
select count(1) from bgt_project_recruit_apply where entry_time <= #{date} and ((leave_time is null and status = '5')or leave_time>=#{date})
|
||||||
and recruit_id in (select id from bgt_project_recruit where task_id = #{taskId} )
|
and recruit_id in (select id from bgt_project_recruit where task_id = #{taskId} )
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="dayTotalNumByProjectId" resultType="Integer">
|
||||||
|
select count(1) from bgt_project_recruit_apply where entry_time <= #{date} and ((leave_time is null and status = '5')or leave_time>=#{date})
|
||||||
|
and recruit_id in (select id from bgt_project_recruit where project_id = #{projectId} )
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="monthTotalNum" resultType="Integer">
|
<select id="monthTotalNum" resultType="Integer">
|
||||||
select count(1)
|
select count(1)
|
||||||
from bgt_project_recruit_apply
|
from bgt_project_recruit_apply
|
||||||
|
@ -31,4 +31,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="zbfSubSwitchList" resultType="com.ruoyi.zbf.domain.vo.ZbfProjectSectionListVO">
|
||||||
|
SELECT zps.id,zps.project_id,zps.section_name
|
||||||
|
FROM zbf_project_section zps
|
||||||
|
left JOIN zbf_project zp ON zps.project_id = zp.id
|
||||||
|
WHERE zp.user_id = #{dto.zbfUserId}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -19,5 +19,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<result property="remark" column="remark"/>
|
<result property="remark" column="remark"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="getFbsList" resultType="com.ruoyi.zbf.domain.vo.ZbfProjectSubcontractingApplyListVO">
|
||||||
|
select zpsa.id,
|
||||||
|
zpsa.project_id,
|
||||||
|
zpsa.section_id,
|
||||||
|
zpsa.sub_id,
|
||||||
|
zpsa.fbs_user_id,
|
||||||
|
zpsa.apply_status,
|
||||||
|
fu.username,
|
||||||
|
fu.phone,
|
||||||
|
fu.avatar_name
|
||||||
|
from zbf_project_subcontracting_apply zpsa left join fbs_user fu on zpsa.fbs_user_id = fu.user_id
|
||||||
|
where zpsa.sub_id = #{dto.subId}
|
||||||
|
<if test="dto.username != null and dto.username != ''">
|
||||||
|
and fu.username like concat('%', #{dto.username}, '%')
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Reference in New Issue
Block a user