|
|
|
@ -512,13 +512,13 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
);
|
|
|
|
|
FbsProjectTaskDetailProgressVO vo = new FbsProjectTaskDetailProgressVO();
|
|
|
|
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
|
|
|
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(taskIds)) {
|
|
|
|
|
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
|
|
|
|
|
|
|
|
|
|
vo.setProgress(progressByTaskIds.stream().mapToInt(BgtProjectTaskProgress::getProgress).sum());
|
|
|
|
|
vo.setTotalProgress(taskList.size() * 100);
|
|
|
|
|
}
|
|
|
|
|
if(vo.getTotalProgress() != 0){
|
|
|
|
|
if (vo.getTotalProgress() != 0) {
|
|
|
|
|
int i = new BigDecimal(vo.getProgress()).divide(new BigDecimal(vo.getTotalProgress()), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).intValue();
|
|
|
|
|
vo.setProgressCompute(i);
|
|
|
|
|
}
|
|
|
|
@ -534,7 +534,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
.eq(FbsProjectTask::getProjectId, dto.getProjectId())
|
|
|
|
|
);
|
|
|
|
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
|
|
|
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(taskIds)) {
|
|
|
|
|
TableDataInfo<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(dto.getPageSize(), dto.getPageNum(), taskIds);
|
|
|
|
|
fbsProgressListVOPage.setTotal(progressByTaskIds.getTotal());
|
|
|
|
|
fbsProgressListVOPage.setRecords(BeanUtil.copyToList(progressByTaskIds.getRows(), FbsProgressListVO.class));
|
|
|
|
@ -549,7 +549,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
.eq(ZbfProjectSubcontracting::getProjectId, projectId)
|
|
|
|
|
.eq(ZbfProjectSubcontracting::getUserId, SecurityUtils.getAppUserId())
|
|
|
|
|
);
|
|
|
|
|
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
|
|
|
|
|
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
//总金额
|
|
|
|
|
BigDecimal totalAmount = subList.stream().map(ZbfProjectSubcontracting::getSubAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
@ -557,8 +557,8 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
|
|
|
|
|
//接收金额
|
|
|
|
|
vo.setReceiveAmount(BigDecimal.ZERO);
|
|
|
|
|
if(CollectionUtil.isNotEmpty(subIds)){
|
|
|
|
|
List<FbsWageApplication> passList= fbsWageApplicationService.getPassListBySubIds(subIds);
|
|
|
|
|
if (CollectionUtil.isNotEmpty(subIds)) {
|
|
|
|
|
List<FbsWageApplication> passList = fbsWageApplicationService.getPassListBySubIds(subIds);
|
|
|
|
|
BigDecimal receiveAmount = passList.stream().map(FbsWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
vo.setReceiveAmount(receiveAmount);
|
|
|
|
|
|
|
|
|
@ -572,7 +572,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
|
|
|
|
|
//已支付金额
|
|
|
|
|
vo.setPayAmount(BigDecimal.ZERO);
|
|
|
|
|
if(CollectionUtil.isNotEmpty(subIds)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(subIds)) {
|
|
|
|
|
List<BgtWageApplication> payList = bgtWageApplicationService.getPassListByTaskIds(subIds);
|
|
|
|
|
BigDecimal payAmount = payList.stream().map(BgtWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
vo.setPayAmount(payAmount);
|
|
|
|
@ -588,7 +588,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
//校验
|
|
|
|
|
Long appUserId = SecurityUtils.getAppUserId();
|
|
|
|
|
ZbfUser zbfUser = zbfUserService.selectUserByUserId(appUserId);
|
|
|
|
|
if( zbfUser.getCompanyId()==null){
|
|
|
|
|
if (zbfUser.getCompanyId() == null) {
|
|
|
|
|
throw new BaseException("尚未企业认证");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -597,12 +597,12 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
boolean save = save(project);
|
|
|
|
|
|
|
|
|
|
for (ZbfProjectSectionAddDTO section : dto.getSectionList()) {
|
|
|
|
|
ZbfProjectSection projectSection = BeanUtil.copyProperties(section, ZbfProjectSection.class,"id");
|
|
|
|
|
ZbfProjectSection projectSection = BeanUtil.copyProperties(section, ZbfProjectSection.class, "id");
|
|
|
|
|
projectSection.setProjectId(project.getId());
|
|
|
|
|
zbfProjectSectionService.save(projectSection);
|
|
|
|
|
List<ZbfProjectSubcontracting> addList = new ArrayList<>();
|
|
|
|
|
for (ZbfProjectSubcontractingAddDTO sub : section.getSubList()) {
|
|
|
|
|
ZbfProjectSubcontracting projectSubcontracting = BeanUtil.copyProperties(sub, ZbfProjectSubcontracting.class,"id");
|
|
|
|
|
ZbfProjectSubcontracting projectSubcontracting = BeanUtil.copyProperties(sub, ZbfProjectSubcontracting.class, "id");
|
|
|
|
|
projectSubcontracting.setProjectId(project.getId());
|
|
|
|
|
projectSubcontracting.setSectionId(projectSection.getId());
|
|
|
|
|
addList.add(projectSubcontracting);
|
|
|
|
@ -622,70 +622,81 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
Set<Long> sectionIds = applyList.stream().map(ZbfProjectSubcontractingApply::getSectionId).collect(Collectors.toSet());
|
|
|
|
|
Set<Long> subIds = applyList.stream().map(ZbfProjectSubcontractingApply::getSubId).collect(Collectors.toSet());
|
|
|
|
|
|
|
|
|
|
//修改ID
|
|
|
|
|
Set<Long> sectionUpdateIds = new HashSet<>();
|
|
|
|
|
//新增ID
|
|
|
|
|
Set<Long> sectionAddIds = new HashSet<>();
|
|
|
|
|
//删除ID
|
|
|
|
|
Set<Long> sectionDeleteIds = new HashSet<>();
|
|
|
|
|
List<ZbfProjectSection> projectSectionUpdateList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
Set<Long> subUpdateIds = new HashSet<>();
|
|
|
|
|
Set<Long> subAddIds = new HashSet<>();
|
|
|
|
|
Set<Long> subDeleteIds = new HashSet<>();
|
|
|
|
|
List<ZbfProjectSubcontracting> projectSubAddList = new ArrayList<>();
|
|
|
|
|
List<ZbfProjectSubcontracting> projectSubUpdateList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
for (ZbfProjectSectionAddDTO section : dto.getSectionList()) {
|
|
|
|
|
ZbfProjectSection projectSection = BeanUtil.copyProperties(section, ZbfProjectSection.class);
|
|
|
|
|
projectSection.setProjectId(dto.getId());
|
|
|
|
|
if (section.getId() == null){
|
|
|
|
|
if (section.getId() == null) {
|
|
|
|
|
zbfProjectSectionService.save(projectSection);
|
|
|
|
|
sectionAddIds.add(projectSection.getId());
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
projectSectionUpdateList.add(projectSection);
|
|
|
|
|
sectionUpdateIds.add(section.getId());
|
|
|
|
|
}
|
|
|
|
|
for (ZbfProjectSubcontractingAddDTO sub : section.getSubList()) {
|
|
|
|
|
ZbfProjectSubcontracting projectSubcontracting = BeanUtil.copyProperties(sub, ZbfProjectSubcontracting.class,"id");
|
|
|
|
|
ZbfProjectSubcontracting projectSubcontracting = BeanUtil.copyProperties(sub, ZbfProjectSubcontracting.class, "id");
|
|
|
|
|
projectSubcontracting.setProjectId(dto.getId());
|
|
|
|
|
projectSubcontracting.setSectionId(projectSection.getId());
|
|
|
|
|
if(sub.getId() == null){
|
|
|
|
|
if (sub.getId() == null) {
|
|
|
|
|
projectSubAddList.add(projectSubcontracting);
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
projectSubUpdateList.add(projectSubcontracting);
|
|
|
|
|
subUpdateIds.add(sub.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!sectionUpdateIds.containsAll(sectionIds)){
|
|
|
|
|
if (!sectionUpdateIds.containsAll(sectionIds)) {
|
|
|
|
|
throw new BaseException("不能删除包含存在申请的分包的标段");
|
|
|
|
|
}
|
|
|
|
|
if(!subUpdateIds.containsAll(subIds)){
|
|
|
|
|
if (!subUpdateIds.containsAll(subIds)) {
|
|
|
|
|
throw new BaseException("不能删除存在申请的分包");
|
|
|
|
|
}
|
|
|
|
|
//更新项目
|
|
|
|
|
ZbfProject project = BeanUtil.copyProperties(dto, ZbfProject.class);
|
|
|
|
|
boolean update = updateById(project);
|
|
|
|
|
//更新标段
|
|
|
|
|
if(CollectionUtil.isNotEmpty(projectSectionUpdateList)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(projectSectionUpdateList)) {
|
|
|
|
|
zbfProjectSectionService.updateBatchById(projectSectionUpdateList);
|
|
|
|
|
}
|
|
|
|
|
//更新分包
|
|
|
|
|
if(CollectionUtil.isNotEmpty(projectSubUpdateList)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(projectSubUpdateList)) {
|
|
|
|
|
zbfProjectSubcontractingService.updateBatchById(projectSubUpdateList);
|
|
|
|
|
}
|
|
|
|
|
//新增分包
|
|
|
|
|
if(CollectionUtil.isNotEmpty(projectSubAddList)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(projectSubAddList)) {
|
|
|
|
|
zbfProjectSubcontractingService.saveBatch(projectSubAddList);
|
|
|
|
|
Set<Long> subAddIds = projectSubAddList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toSet());
|
|
|
|
|
subAddIds = projectSubAddList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toSet());
|
|
|
|
|
subUpdateIds.addAll(subAddIds);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//删除标段
|
|
|
|
|
sectionDeleteIds.addAll(sectionUpdateIds);
|
|
|
|
|
sectionDeleteIds.addAll(sectionAddIds);
|
|
|
|
|
zbfProjectSectionService.remove(Wrappers.<ZbfProjectSection>lambdaQuery()
|
|
|
|
|
.eq(ZbfProjectSection::getProjectId, dto.getId())
|
|
|
|
|
.notIn(ZbfProjectSection::getId, sectionUpdateIds.addAll(sectionAddIds))
|
|
|
|
|
.notIn(CollectionUtil.isNotEmpty(sectionDeleteIds), ZbfProjectSection::getId, sectionUpdateIds)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
//删除分包
|
|
|
|
|
subDeleteIds.addAll(subUpdateIds);
|
|
|
|
|
subDeleteIds.addAll(subAddIds);
|
|
|
|
|
zbfProjectSubcontractingService.remove(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
|
|
|
|
.eq(ZbfProjectSubcontracting::getProjectId, dto.getId())
|
|
|
|
|
.notIn(ZbfProjectSubcontracting::getId, subUpdateIds)
|
|
|
|
|
.notIn(CollectionUtil.isNotEmpty(subDeleteIds), ZbfProjectSubcontracting::getId, subUpdateIds)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return update;
|
|
|
|
@ -705,8 +716,15 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
//查询标段下的所有的分包
|
|
|
|
|
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
|
|
|
|
.eq(ZbfProjectSubcontracting::getSectionId, zbfProjectSection.getId()));
|
|
|
|
|
List<ZbfProjectSubcontractingUpdateVO> zbfProjectSubcontractingListVOS = BeanUtil.copyToList(subList, ZbfProjectSubcontractingUpdateVO.class);
|
|
|
|
|
List<ZbfProjectSubcontractingUpdateVO> zbfProjectSubcontractingListVOS = new ArrayList<>();
|
|
|
|
|
for (ZbfProjectSubcontracting sub : subList) {
|
|
|
|
|
|
|
|
|
|
ZbfProjectSubcontractingUpdateVO zbfProjectSubcontractingUpdateVO = BeanUtil.copyProperties(sub, ZbfProjectSubcontractingUpdateVO.class);
|
|
|
|
|
int count = zbfProjectSubcontractingApplyService.count(Wrappers.<ZbfProjectSubcontractingApply>lambdaQuery()
|
|
|
|
|
.eq(ZbfProjectSubcontractingApply::getSubId, sub.getId()));
|
|
|
|
|
zbfProjectSubcontractingUpdateVO.setIsApply(count > 0);
|
|
|
|
|
zbfProjectSubcontractingListVOS.add(zbfProjectSubcontractingUpdateVO);
|
|
|
|
|
}
|
|
|
|
|
ZbfProjectSectionUpdateVO zbfProjectSectionUpdateVO = new ZbfProjectSectionUpdateVO();
|
|
|
|
|
BeanUtil.copyProperties(zbfProjectSection, zbfProjectSectionUpdateVO);
|
|
|
|
|
zbfProjectSectionUpdateVO.setSubList(zbfProjectSubcontractingListVOS);
|
|
|
|
@ -719,7 +737,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public TableDataInfo<ZbfProjectListVO> queryZbfList(ZbfProjectListDTO dto) {
|
|
|
|
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
|
|
|
|
|
wrapper.like(StrUtil.isNotBlank(dto.getProjectName()), ZbfProject::getProjectName, dto.getProjectName());
|
|
|
|
|
wrapper.orderByDesc(ZbfProject::getId);
|
|
|
|
@ -727,7 +745,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
|
|
|
|
|
List<ZbfProjectListVO> zbfProjectListVOS = BeanUtil.copyToList(result.getRecords(), ZbfProjectListVO.class);
|
|
|
|
|
|
|
|
|
|
for (ZbfProjectListVO zbfProjectListVO : zbfProjectListVOS){
|
|
|
|
|
for (ZbfProjectListVO zbfProjectListVO : zbfProjectListVOS) {
|
|
|
|
|
//标段处理
|
|
|
|
|
List<ZbfProjectSectionListVO> sectionListVO = new ArrayList<>();
|
|
|
|
|
//查询项目下的所有标段
|
|
|
|
@ -759,7 +777,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
public ZbfProjectCountVO projectCount() {
|
|
|
|
|
ZbfProjectCountVO zbfProjectCountVO = new ZbfProjectCountVO();
|
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
wrapper.eq(ZbfProject::getUserId, SecurityUtils.getAppUserId());
|
|
|
|
|
List<ZbfProject> list = list(wrapper);
|
|
|
|
|
zbfProjectCountVO.setAllCount(list.size());
|
|
|
|
@ -772,7 +790,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public TableDataInfo<ZbfProject> conciseList(ZbfProjectListDTO dto) {
|
|
|
|
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
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());
|
|
|
|
@ -821,7 +839,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
zbfPersonCountVO.setBgtCount(list.size());
|
|
|
|
|
List<Long> taskIds = list.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
|
|
|
|
zbfPersonCountVO.setWgzCount(0);
|
|
|
|
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(taskIds)) {
|
|
|
|
|
//任务下的招工
|
|
|
|
|
List<BgtProjectRecruitApply> recruitApplyList = bgtProjectRecruitApplyService.list(Wrappers.<BgtProjectRecruitApply>lambdaQuery()
|
|
|
|
|
.in(BgtProjectRecruitApply::getTaskId, taskIds)
|
|
|
|
@ -829,7 +847,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
);
|
|
|
|
|
zbfPersonCountVO.setWgzCount(recruitApplyList.size());
|
|
|
|
|
}
|
|
|
|
|
zbfPersonCountVO.setTotalCount(zbfPersonCountVO.getBgtCount()+zbfPersonCountVO.getWgzCount());
|
|
|
|
|
zbfPersonCountVO.setTotalCount(zbfPersonCountVO.getBgtCount() + zbfPersonCountVO.getWgzCount());
|
|
|
|
|
return zbfPersonCountVO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -839,14 +857,14 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
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);
|
|
|
|
|
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){
|
|
|
|
|
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);
|
|
|
|
@ -862,7 +880,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
);
|
|
|
|
|
ZbfProgressVO vo = new ZbfProgressVO();
|
|
|
|
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
|
|
|
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(taskIds)) {
|
|
|
|
|
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
|
|
|
|
|
|
|
|
|
|
vo.setProgress(progressByTaskIds.stream().mapToInt(BgtProjectTaskProgress::getProgress).sum());
|
|
|
|
@ -876,10 +894,10 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
Page<ZbfProgressListVO> voPage = new Page<>();
|
|
|
|
|
//查询所有创建的任务
|
|
|
|
|
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
|
|
|
|
|
.eq(FbsProjectTask::getProjectId, dto)
|
|
|
|
|
.eq(FbsProjectTask::getProjectId, dto.getProjectId())
|
|
|
|
|
);
|
|
|
|
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
|
|
|
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
|
|
|
|
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));
|
|
|
|
@ -893,7 +911,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
List<ZbfProjectSubcontracting> subList = zbfProjectSubcontractingService.list(Wrappers.<ZbfProjectSubcontracting>lambdaQuery()
|
|
|
|
|
.eq(ZbfProjectSubcontracting::getProjectId, projectId)
|
|
|
|
|
);
|
|
|
|
|
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
|
|
|
|
|
List<Long> subIds = subList.stream().map(ZbfProjectSubcontracting::getId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
//总金额
|
|
|
|
|
BigDecimal totalAmount = subList.stream().map(ZbfProjectSubcontracting::getSubAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
@ -902,8 +920,8 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
//已结算金额
|
|
|
|
|
vo.setPayAmount(BigDecimal.ZERO);
|
|
|
|
|
BigDecimal wgzAmount = BigDecimal.ZERO;
|
|
|
|
|
if(CollectionUtil.isNotEmpty(subIds)){
|
|
|
|
|
List<FbsWageApplication> passList= fbsWageApplicationService.getPassListBySubIds(subIds);
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
@ -912,10 +930,10 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
.in(FbsProjectTask::getSubId, subIds)
|
|
|
|
|
);
|
|
|
|
|
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
|
|
|
|
|
if(CollectionUtil.isNotEmpty(taskIds)){
|
|
|
|
|
if (CollectionUtil.isNotEmpty(taskIds)) {
|
|
|
|
|
List<WgzPayCalculation> passListByTaskIds = wgzPayCalculationService.getPassListByTaskIds(taskIds);
|
|
|
|
|
|
|
|
|
|
for (WgzPayCalculation wgzPayCalculation : passListByTaskIds){
|
|
|
|
|
for (WgzPayCalculation wgzPayCalculation : passListByTaskIds) {
|
|
|
|
|
BigDecimal multiply = wgzPayCalculation.getRecruitAmount().multiply(new BigDecimal(wgzPayCalculation.getNum()));
|
|
|
|
|
wgzAmount = wgzAmount.add(multiply);
|
|
|
|
|
}
|
|
|
|
@ -928,7 +946,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public TableDataInfo<ZbfProject> zbfSwitchList(ZbfProjectSwitchListDTO dto) {
|
|
|
|
|
LambdaQueryWrapper<ZbfProject> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
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);
|
|
|
|
|