|
@@ -3,6 +3,7 @@ package org.springblade.manager.service.impl;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -39,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@@ -131,33 +133,67 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<WbsTreeContractVO> tree3(String wbsId, String projectId, String contractId) {
|
|
|
- List<WbsTreeContractVO> wbsTreeContractVOS = baseMapper.tree5(Long.parseLong(wbsId), Long.parseLong(projectId), Long.parseLong(contractId));
|
|
|
- //获取所有已填报信息
|
|
|
- Map<String, Long> allTable = informationQueryClient.getTreeAllTable(contractId);
|
|
|
- Set<String> keySet = allTable.keySet();
|
|
|
- for (String key : keySet) {
|
|
|
- for (WbsTreeContractVO vo : wbsTreeContractVOS) {
|
|
|
- if (key.equals(vo.getId()+"")){
|
|
|
- vo.setSubmitCounts(allTable.get(key));
|
|
|
+ public List<WbsTreeContractTreeAllVO> tree3(String contractId, Integer type) {
|
|
|
+ List<WbsTreeContractTreeAllVO> wbsTreeContractVOS = baseMapper.tree5(Long.parseLong(contractId));
|
|
|
+ if (ObjectUtils.isNotEmpty(type) && type == 1) {
|
|
|
+ //获取所有已填报信息
|
|
|
+ Map<String, Long> allTable = informationQueryClient.getTreeAllTable(contractId);
|
|
|
+ Set<String> keySet = allTable.keySet();
|
|
|
+ for (String key : keySet) {
|
|
|
+ for (WbsTreeContractTreeAllVO vo : wbsTreeContractVOS) {
|
|
|
+ if (key.equals(vo.getId() + "")) {
|
|
|
+ vo.setSubmitCounts(allTable.get(key));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ wbsTreeContractVOS.stream().forEach(wtc -> {
|
|
|
+ if (wtc.getSubmitCounts() == null) {
|
|
|
+ wtc.setSubmitCounts(0L);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
- wbsTreeContractVOS.stream().forEach(wtc->{
|
|
|
- if (wtc.getSubmitCounts() == null){
|
|
|
- wtc.setSubmitCounts(0L);
|
|
|
+ return buildWbsTreeByStreamByTreeAll(wbsTreeContractVOS);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<Long, List<WbsTreeContractTreeAllVO>> treeAllJL(String contractId, Integer type) {
|
|
|
+ //获取当前监理、指挥部合同段对应的施工权限
|
|
|
+ String sql = "select contract_id_sg from m_contract_relation_jlyz where contract_id_jlyz = " + contractId;
|
|
|
+ List<ContractRelationJlyz> query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ContractRelationJlyz.class));
|
|
|
+
|
|
|
+ Map<Long, List<WbsTreeContractTreeAllVO>> result = new HashMap<>();
|
|
|
+
|
|
|
+ //查询施工树
|
|
|
+ for (ContractRelationJlyz sg : query) {
|
|
|
+ List<WbsTreeContractTreeAllVO> wbsTreeContractVOS = baseMapper.tree5(sg.getContractIdSg());
|
|
|
+ if (ObjectUtils.isNotEmpty(type) && type == 1) {
|
|
|
+ //获取所有已填报信息
|
|
|
+ Map<String, Long> allTable = informationQueryClient.getTreeAllTable(contractId);
|
|
|
+ Set<String> keySet = allTable.keySet();
|
|
|
+ for (String key : keySet) {
|
|
|
+ for (WbsTreeContractTreeAllVO vo : wbsTreeContractVOS) {
|
|
|
+ if (key.equals(vo.getId() + "")) {
|
|
|
+ vo.setSubmitCounts(allTable.get(key));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wbsTreeContractVOS.stream().forEach(wtc -> {
|
|
|
+ if (wtc.getSubmitCounts() == null) {
|
|
|
+ wtc.setSubmitCounts(0L);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
- });
|
|
|
- return buildWbsTreeByStream(wbsTreeContractVOS);
|
|
|
+ List<WbsTreeContractTreeAllVO> resultTreeSG = buildWbsTreeByStreamByTreeAll(wbsTreeContractVOS);
|
|
|
+ result.put(sg.getContractIdSg(), resultTreeSG);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<WbsTreeContractVO6> tree6List(String wbsId, String projectId, String contractId) {
|
|
|
- List<WbsTreeContractVO6> wbsTreeContractVOS = baseMapper.tree6(Long.parseLong(wbsId), Long.parseLong(projectId), Long.parseLong(contractId));
|
|
|
- return wbsTreeContractVOS;
|
|
|
+ return baseMapper.tree6(Long.parseLong(wbsId), Long.parseLong(projectId), Long.parseLong(contractId));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public List<WbsTreeContractVO> tree(String wbsId, String projectId, String contractId) {
|
|
|
List<WbsTreeContractVO> wbsTreeContractVOS = baseMapper.tree2(Long.parseLong(wbsId), Long.parseLong(projectId), Long.parseLong(contractId), null, null, null);
|
|
@@ -171,10 +207,10 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- public List<WbsTreeContractVO6> buildWbsTreeByStream6(List<WbsTreeContractVO6> wbsTreeVO2s) {
|
|
|
- List<WbsTreeContractVO6> list = wbsTreeVO2s.stream().filter(f -> f.getParentId() == 0L).collect(Collectors.toList());
|
|
|
- Map<Long, List<WbsTreeContractVO6>> map = wbsTreeVO2s.stream().collect(Collectors.groupingBy(WbsTreeContractVO6::getParentId));
|
|
|
- this.recursionFnTree6(list, map);
|
|
|
+ public List<WbsTreeContractTreeAllVO> buildWbsTreeByStreamByTreeAll(List<WbsTreeContractTreeAllVO> wbsTreeVO2s) {
|
|
|
+ List<WbsTreeContractTreeAllVO> list = wbsTreeVO2s.stream().filter(f -> f.getParentId() == 0L).collect(Collectors.toList());
|
|
|
+ Map<Long, List<WbsTreeContractTreeAllVO>> map = wbsTreeVO2s.stream().collect(Collectors.groupingBy(WbsTreeContractTreeAllVO::getParentId));
|
|
|
+ this.recursionFnTreeAll(list, map);
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -189,18 +225,17 @@ public class ContractInfoServiceImpl extends BaseServiceImpl<ContractInfoMapper,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void recursionFnTree6(List<WbsTreeContractVO6> list, Map<Long, List<WbsTreeContractVO6>> map) {
|
|
|
- for (WbsTreeContractVO6 wbsTreeContractVO6 : list) {
|
|
|
- List<WbsTreeContractVO6> childrenList = map.get(wbsTreeContractVO6.getId());
|
|
|
- wbsTreeContractVO6.setChildren(childrenList);
|
|
|
+ public void recursionFnTreeAll(List<WbsTreeContractTreeAllVO> list, Map<Long, List<WbsTreeContractTreeAllVO>> map) {
|
|
|
+ for (WbsTreeContractTreeAllVO wbsTreeContractVO : list) {
|
|
|
+ List<WbsTreeContractTreeAllVO> childrenList = map.get(wbsTreeContractVO.getId());
|
|
|
+ wbsTreeContractVO.setChildren(childrenList);
|
|
|
if (childrenList != null && childrenList.size() > 0) {
|
|
|
- wbsTreeContractVO6.setHasChildren(true);
|
|
|
- recursionFnTree6(childrenList, map);
|
|
|
+ wbsTreeContractVO.setHasChildren(true);
|
|
|
+ recursionFnTreeAll(childrenList, map);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public List<WbsTreeContractVO2> treeTwo(String projectId) {
|
|
|
return wbsTreeContractMapper.selectListByCondition(projectId);
|