|
@@ -30,10 +30,8 @@ import org.springblade.meter.entity.*;
|
|
import org.springblade.meter.mapper.MiddleMeterApplyMapper;
|
|
import org.springblade.meter.mapper.MiddleMeterApplyMapper;
|
|
import org.springblade.meter.service.*;
|
|
import org.springblade.meter.service.*;
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
-import org.springblade.meter.vo.MeterInventoryDetailVO;
|
|
|
|
-import org.springblade.meter.vo.MeterInventoryVO;
|
|
|
|
-import org.springblade.meter.vo.MiddleMeterApplyVO;
|
|
|
|
-import org.springblade.meter.vo.ResolveInventoryVO;
|
|
|
|
|
|
+import org.springblade.meter.utils.ForestNodeMerger;
|
|
|
|
+import org.springblade.meter.vo.*;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -307,7 +305,12 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
|
|
IPage<MiddleMeterApplyVO> iPage = new Page<>(query.getCurrent(),query.getSize());
|
|
IPage<MiddleMeterApplyVO> iPage = new Page<>(query.getCurrent(),query.getSize());
|
|
if (type == 1){
|
|
if (type == 1){
|
|
//根据部位分页,先查出部位
|
|
//根据部位分页,先查出部位
|
|
- List<Long> ids = baseMapper.getLowestNodeBySort(middleMeterApply.getContractId(),middleMeterApply.getContractUnitId());
|
|
|
|
|
|
+ List<NodeSortVO> vos = baseMapper.getLowestNodeBySort(middleMeterApply.getContractId(),middleMeterApply.getContractUnitId());
|
|
|
|
+ //转换为树
|
|
|
|
+ List<NodeSortVO> list = ForestNodeMerger.merge(vos);
|
|
|
|
+ //递归循环树,存在子节点就深入,不存在子节点就add后返回上一层
|
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
|
+ gatherSortNode(list,ids);
|
|
if (ids.size() != 0){
|
|
if (ids.size() != 0){
|
|
iPage = baseMapper.page3(iPage,middleMeterApply,ids);
|
|
iPage = baseMapper.page3(iPage,middleMeterApply,ids);
|
|
}
|
|
}
|
|
@@ -423,4 +426,29 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
|
|
public BigDecimal getCurrentMeterMoney(MiddleMeterApply middleMeterApply) {
|
|
public BigDecimal getCurrentMeterMoney(MiddleMeterApply middleMeterApply) {
|
|
return baseMapper.getCurrentMeterMoney(middleMeterApply.getContractId(),middleMeterApply.getContractPeriodId());
|
|
return baseMapper.getCurrentMeterMoney(middleMeterApply.getContractId(),middleMeterApply.getContractPeriodId());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public String test() {
|
|
|
|
+ Long contractId = 1579773037233184770L;
|
|
|
|
+ //获取当前合同下所以计量单元
|
|
|
|
+ List<NodeSortVO> vos = baseMapper.getAllNode(contractId);
|
|
|
|
+ //转换为树
|
|
|
|
+ List<NodeSortVO> list = ForestNodeMerger.merge(vos);
|
|
|
|
+ //递归循环树,存在子节点就深入,不存在子节点就add后返回上一层
|
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
|
+ gatherSortNode(list,ids);
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //递归方法
|
|
|
|
+ private void gatherSortNode(List<NodeSortVO> list,List<Long> ids){
|
|
|
|
+ for (NodeSortVO vo : list) {
|
|
|
|
+ if (vo.getChildren().size() == 0){
|
|
|
|
+ ids.add(vo.getId());
|
|
|
|
+ continue;
|
|
|
|
+ }else {
|
|
|
|
+ gatherSortNode(vo.getChildren(), ids);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|