|
|
@ -59,6 +59,10 @@ public class ContractualTasksServiceImpl extends BaseTaskService<ContractualTask |
|
|
|
private IContractualTaskSupplementService contractualTaskSupplementService; |
|
|
|
@Autowired |
|
|
|
private ContractualInfoMapper contractualInfoMapper; |
|
|
|
@Autowired |
|
|
|
private ContractualTasksMapper contractualTasksMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@ -75,53 +79,23 @@ public class ContractualTasksServiceImpl extends BaseTaskService<ContractualTask |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public TableDataInfo<ContractualTasksVo> queryPageList(ContractualTasksBo bo, PageQuery pageQuery) { |
|
|
|
DocumentTasksBo documentTasksBo = new DocumentTasksBo(); |
|
|
|
BeanUtils.copyProperties(bo, documentTasksBo); |
|
|
|
LambdaQueryWrapper<DocumentTasks> lqw = buildQueryWrapper(documentTasksBo); |
|
|
|
lqw.eq(DocumentTasks::getTaskType, TaskEnum.TaskType.CONTRACT_REVIEW.getValue()); |
|
|
|
// 获取 DocumentTasksVo 的分页结果
|
|
|
|
Page<DocumentTasksVo> documentTasksPage = documentTasksMapper.selectVoPage(pageQuery.build(), lqw); |
|
|
|
// 创建新的 ContractualTasksVo 的 Page 对象
|
|
|
|
Page<ContractualTasksVo> result = new Page<>(); |
|
|
|
// 复制分页信息
|
|
|
|
result.setTotal(documentTasksPage.getTotal()); |
|
|
|
result.setSize(documentTasksPage.getSize()); |
|
|
|
result.setCurrent(documentTasksPage.getCurrent()); |
|
|
|
|
|
|
|
// 转换记录列表
|
|
|
|
List<ContractualTasksVo> contractualTasksVoList = documentTasksPage.getRecords().stream() |
|
|
|
.map(documentTasksVo -> { |
|
|
|
|
|
|
|
ContractualTasksVo contractualTasksVo = new ContractualTasksVo(); |
|
|
|
BeanUtils.copyProperties(documentTasksVo, contractualTasksVo); |
|
|
|
|
|
|
|
// 设置创建用户信息,目前不需要
|
|
|
|
// Long createBy = contractualTasksVo.getCreateBy();
|
|
|
|
// contractualTasksVo.setCreateUser(userService.selectUserById(createBy).getNickName());
|
|
|
|
//获取单位名称
|
|
|
|
String unitName = ""; |
|
|
|
|
|
|
|
ContractualInfoVo contractualInfo = contractualInfoMapper.selectContractualInfoByTaskId(documentTasksVo.getId()); |
|
|
|
if (contractualInfo!= null) { |
|
|
|
unitName = contractualInfo.getPurchaserName(); |
|
|
|
} |
|
|
|
contractualTasksVo.setUnitName(unitName); |
|
|
|
// 计算任务持续时间
|
|
|
|
String formattedDuration = ""; |
|
|
|
if (!contractualTasksVo.getProgressStatus().equals("PENDING") |
|
|
|
&& !contractualTasksVo.getProgressStatus().equals("STARTED")) { |
|
|
|
formattedDuration = MyTimeUtils.formatTimeDifference( |
|
|
|
contractualTasksVo.getCreateTime(), |
|
|
|
contractualTasksVo.getUpdateTime() |
|
|
|
); |
|
|
|
} |
|
|
|
contractualTasksVo.setTaskDuration(formattedDuration); |
|
|
|
|
|
|
|
return contractualTasksVo; |
|
|
|
}) |
|
|
|
.collect(java.util.stream.Collectors.toList()); |
|
|
|
|
|
|
|
result.setRecords(contractualTasksVoList); |
|
|
|
// 使用自定义Mapper方法查询带单位名称的任务列表
|
|
|
|
Page<ContractualTasksVo> page = pageQuery.build(); |
|
|
|
Page<ContractualTasksVo> result = contractualTasksMapper.selectTasksWithUnitName(page, bo); |
|
|
|
|
|
|
|
// 处理查询结果,设置任务持续时间
|
|
|
|
result.getRecords().forEach(contractualTasksVo -> { |
|
|
|
// 计算任务持续时间
|
|
|
|
String formattedDuration = ""; |
|
|
|
if (!contractualTasksVo.getProgressStatus().equals("PENDING") |
|
|
|
&& !contractualTasksVo.getProgressStatus().equals("STARTED")) { |
|
|
|
formattedDuration = MyTimeUtils.formatTimeDifference( |
|
|
|
contractualTasksVo.getCreateTime(), |
|
|
|
contractualTasksVo.getUpdateTime() |
|
|
|
); |
|
|
|
} |
|
|
|
contractualTasksVo.setTaskDuration(formattedDuration); |
|
|
|
}); |
|
|
|
|
|
|
|
return TableDataInfo.build(result); |
|
|
|
} |
|
|
|