This commit is contained in:
zt
2025-04-29 17:45:42 +08:00
parent 2c15d26bcc
commit c982cbaa75
32 changed files with 936 additions and 370 deletions

View File

@ -16,4 +16,7 @@ public class ZbfSubSwitchListDTO {
@ApiModelProperty("总包方用户")
private Long zbfUserId;
@ApiModelProperty("项目ID")
private Long projectId;
}

View File

@ -19,6 +19,9 @@ public class ZbfProjectSectionListVO {
@ApiModelProperty("标段名称")
private String sectionName;
@ApiModelProperty("标段描述")
private String sectionDescribe;
@ApiModelProperty("项目地址")
private String projectAddress;

View File

@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constants.ZbfMessageConstant;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.BgtMessageType;
import com.ruoyi.common.util.MessageUtil;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.zbf.bo.ZbfMessageQueryBo;
@ -20,6 +23,7 @@ import com.ruoyi.zbf.domain.vo.ZbfMessageDetailVO;
import com.ruoyi.zbf.domain.vo.ZbfMessageVO;
import com.ruoyi.zbf.mapper.ZbfMessageMapper;
import com.ruoyi.zbf.service.IZbfMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalTime;
@ -40,6 +44,8 @@ import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.OPERATION_NEED
@Service
public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, ZbfMessage> implements IZbfMessageService {
@Autowired
private RedisCache redisCache;
@Override
public ZbfMessage queryById(Long id){
return getById(id);
@ -107,7 +113,9 @@ public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, Zbf
@Override
public Boolean sendAMessage(ZbfMessage bo) {
return save(bo);
boolean save = save(bo);
MessageUtil.saveMessagePush(bo.getRecipientType(), bo.getRecipientId(), bo.getMessageLargeType(), bo.getIsOperation());
return save;
}
@Override
@ -121,6 +129,7 @@ public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, Zbf
wrapper.eq(ZbfMessage::getTableName, tableName);
wrapper.set(ZbfMessage::getIsOperation, OPERATION_ALREADY);
update(wrapper);
MessageUtil.operationMessagePush(recipientType, recipientId, 1);
}
@Override
@ -132,6 +141,7 @@ public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, Zbf
wrapper.eq(ZbfMessage::getTableName, tableName);
wrapper.set(ZbfMessage::getIsOperation, OPERATION_ALREADY);
update(wrapper);
MessageUtil.operationMessagePush(recipientType, recipientId, tableIds.size());
}
@Override
@ -150,6 +160,7 @@ public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, Zbf
.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId())
.eq(ZbfMessage::getIsOperation, OPERATION_NEED));
zbfMessageCountVO.setHandleMessageCount(handle);
redisCache.setCacheObject(ZbfMessageConstant.REDIS_KEY+SecurityUtils.getAppUserId(), zbfMessageCountVO);
return zbfMessageCountVO;
}

View File

@ -204,9 +204,6 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
}
subListVO.add(fbsProjectSubcontractingListVO);
}
if (CollectionUtil.isEmpty(subListVO)) {
continue;
}
FbsProjectSectionListVO fbsProjectSectionListVO = new FbsProjectSectionListVO();
BeanUtil.copyProperties(zbfProjectSection, fbsProjectSectionListVO);
fbsProjectSectionListVO.setSubList(subListVO);
@ -363,9 +360,6 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
}
subListVO.add(fbsProjectSubcontractingListVO);
}
if (CollectionUtil.isEmpty(subListVO)) {
continue;
}
FbsProjectSectionListVO fbsProjectSectionListVO = new FbsProjectSectionListVO();
BeanUtil.copyProperties(zbfProjectSection, fbsProjectSectionListVO);
fbsProjectSectionListVO.setSubList(subListVO);
@ -543,15 +537,25 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
public TableDataInfo<FbsProgressListVO> fbsProgressList(FbsProgressListDTO dto) {
Page<FbsProgressListVO> fbsProgressListVOPage = new Page<>();
//查询所有创建的任务
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
LambdaQueryWrapper<FbsProjectTask> wrapper = Wrappers.<FbsProjectTask>lambdaQuery()
.eq(FbsProjectTask::getCreateId, SecurityUtils.getAppUserId())
.eq(FbsProjectTask::getProjectId, dto.getProjectId())
);
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
.orderByDesc(FbsProjectTask::getId);
Page<FbsProjectTask> fbsProjectTaskPage = fbsProjectTaskService.getBaseMapper().selectPage(PageUtils.buildPage(), wrapper);
List<Long> taskIds = fbsProjectTaskPage.getRecords().stream().map(FbsProjectTask::getId).collect(Collectors.toList());
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));
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
Map<Long, Integer> map = progressByTaskIds.stream().collect(Collectors.toMap(BgtProjectTaskProgress::getTaskId, BgtProjectTaskProgress::getProgress));
ArrayList<FbsProgressListVO> fbsProgressListVOS = new ArrayList<>();
for (FbsProjectTask fbsProjectTask : fbsProjectTaskPage.getRecords()) {
FbsProgressListVO fbsProgressListVO = new FbsProgressListVO();
fbsProgressListVO.setId(fbsProjectTask.getId());
fbsProgressListVO.setTaskName(fbsProjectTask.getTaskName());
fbsProgressListVO.setProgress(map.get(fbsProjectTask.getId())==null?0:map.get(fbsProjectTask.getId()));
fbsProgressListVOS.add(fbsProgressListVO);
}
fbsProgressListVOPage.setTotal(fbsProjectTaskPage.getTotal());
fbsProgressListVOPage.setRecords(fbsProgressListVOS);
}
return PageUtils.buildDataInfo(fbsProgressListVOPage);
}
@ -586,8 +590,9 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
//已支付金额
vo.setPayAmount(BigDecimal.ZERO);
if (CollectionUtil.isNotEmpty(subIds)) {
List<BgtWageApplication> payList = bgtWageApplicationService.getPassListByTaskIds(subIds);
if (CollectionUtil.isNotEmpty(taskList)) {
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
List<BgtWageApplication> payList = bgtWageApplicationService.getPassListByTaskIds(taskIds);
BigDecimal payAmount = payList.stream().map(BgtWageApplication::getApplicantAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
vo.setPayAmount(payAmount);
}
@ -867,7 +872,8 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
.eq(FbsProjectTask::getProjectId, id)
.isNotNull(FbsProjectTask::getUserId)
);
zbfPersonCountVO.setBgtCount(list.size());
Set<Long> collect = list.stream().map(FbsProjectTask::getUserId).collect(Collectors.toSet());
zbfPersonCountVO.setBgtCount(collect.size());
List<Long> taskIds = list.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
zbfPersonCountVO.setWgzCount(0);
if (CollectionUtil.isNotEmpty(taskIds)) {
@ -924,14 +930,24 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
public TableDataInfo<ZbfProgressListVO> zbfProgressList(ZbfProgressListDTO dto) {
Page<ZbfProgressListVO> voPage = new Page<>();
//查询所有创建的任务
List<FbsProjectTask> taskList = fbsProjectTaskService.list(Wrappers.<FbsProjectTask>lambdaQuery()
LambdaQueryWrapper<FbsProjectTask> wrapper = Wrappers.<FbsProjectTask>lambdaQuery()
.eq(FbsProjectTask::getProjectId, dto.getProjectId())
);
List<Long> taskIds = taskList.stream().map(FbsProjectTask::getId).collect(Collectors.toList());
.orderByDesc(FbsProjectTask::getId);
Page<FbsProjectTask> fbsProjectTaskPage = fbsProjectTaskService.getBaseMapper().selectPage(PageUtils.buildPage(), wrapper);
List<Long> taskIds = fbsProjectTaskPage.getRecords().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));
List<BgtProjectTaskProgress> progressByTaskIds = bgtProjectTaskProgressService.getProgressByTaskIds(taskIds);
Map<Long, Integer> map = progressByTaskIds.stream().collect(Collectors.toMap(BgtProjectTaskProgress::getTaskId, BgtProjectTaskProgress::getProgress));
ArrayList<ZbfProgressListVO> zbfProgressListVOS = new ArrayList<>();
for (FbsProjectTask fbsProjectTask : fbsProjectTaskPage.getRecords()) {
ZbfProgressListVO zbfProgressListVO = new ZbfProgressListVO();
zbfProgressListVO.setId(fbsProjectTask.getId());
zbfProgressListVO.setTaskName(fbsProjectTask.getTaskName());
zbfProgressListVO.setProgress(map.get(fbsProjectTask.getId())==null?0:map.get(fbsProjectTask.getId()));
zbfProgressListVOS.add(zbfProgressListVO);
}
voPage.setTotal(fbsProjectTaskPage.getTotal());
voPage.setRecords(zbfProgressListVOS);
}
return PageUtils.buildDataInfo(voPage);
}
@ -980,6 +996,7 @@ public class ZbfProjectServiceImpl extends ServicePlusImpl<ZbfProjectMapper, Zbf
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);
Page<ZbfProject> result = page(PageUtils.buildPage(), wrapper);
return PageUtils.buildDataInfo(result);
}