|
|
@@ -27,6 +27,7 @@ import com.hotent.uc.manager.UserManager;
|
|
|
import com.hotent.uc.model.Org;
|
|
|
import com.hotent.uc.model.User;
|
|
|
import com.hotent.uc.util.ContextUtil;
|
|
|
+import io.seata.common.util.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -936,6 +937,48 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
|
|
|
|
|
|
Page<CostProjectTask> page = new Page<>(req.getPageNum(), req.getPageSize());
|
|
|
IPage<CostProjectTask> result = costProjectTaskManager.page(page, queryWrapper);
|
|
|
+ List<CostProjectTask> rootList = result.getRecords();
|
|
|
+ if (rootList == null || rootList.isEmpty()) {
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ Set<String> allProjectIds = new HashSet<>();
|
|
|
+ rootList.forEach(t -> allProjectIds.add(t.getProjectId()));
|
|
|
+ List<CostProjectApproval> approvalList = costProjectApprovalManager.list(
|
|
|
+ new LambdaQueryWrapper<CostProjectApproval>()
|
|
|
+ .in(CostProjectApproval::getProjectId, allProjectIds)
|
|
|
+ );
|
|
|
+ Map<String, CostProjectApproval> approvalMap =
|
|
|
+ approvalList.stream().collect(
|
|
|
+ Collectors.toMap(CostProjectApproval::getProjectId, v -> v)
|
|
|
+ );
|
|
|
+
|
|
|
+ for (CostProjectTask rootTask : rootList) {
|
|
|
+ // 任务状态
|
|
|
+ rootTask.setStatusName(TaskStatusConstant.getStatusNameByCode(rootTask.getStatus()));
|
|
|
+ rootTask.setCurrentNodeName(NodeConstant.getNodeValueByKey(rootTask.getCurrentNode()));
|
|
|
+ rootTask.setWarningStatus(calculateWarningStatus(rootTask));
|
|
|
+ // 找根任务
|
|
|
+ String pid = rootTask.getPid();
|
|
|
+ if(StringUtils.isNotBlank( pid)){
|
|
|
+ CostProjectTask rrootTask = this.getById(pid);
|
|
|
+ if(rrootTask != null){
|
|
|
+ rootTask.setAuditPeriod(rrootTask.getAuditPeriod());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 设置目录
|
|
|
+ CostProjectApproval rootDetail = approvalMap.get(rootTask.getProjectId());
|
|
|
+ if (rootDetail != null) {
|
|
|
+ rootTask.setCatalogId(rootDetail.getCatalogId());
|
|
|
+ if (StringUtil.isNotEmpty(rootDetail.getAreaCode())) {
|
|
|
+ CostDistrict district = costDistrictManager.getOne(
|
|
|
+ new LambdaQueryWrapper<CostDistrict>()
|
|
|
+ .eq(CostDistrict::getCode, rootDetail.getAreaCode())
|
|
|
+ );
|
|
|
+ rootTask.setAreaName(district != null ? district.getName() : "山西省");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|