From ca92a19cd6f090f8c8f7074037a4eb598e1daa57 Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Mon, 10 Jul 2023 16:55:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=B0=E5=B8=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serve/common/model/dto/HeaderOption.java | 8 +++- .../modules/bir/entity/vo/BirReportVo.java | 2 +- .../impl/BirReportAccountBookServiceImpl.java | 46 +++++++++++++++++-- 3 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/qs/serve/common/model/dto/HeaderOption.java b/src/main/java/com/qs/serve/common/model/dto/HeaderOption.java index 1c3e0e4c..1202829d 100644 --- a/src/main/java/com/qs/serve/common/model/dto/HeaderOption.java +++ b/src/main/java/com/qs/serve/common/model/dto/HeaderOption.java @@ -3,6 +3,8 @@ package com.qs.serve.common.model.dto; import com.qs.serve.common.util.PageUtil; import lombok.Data; +import java.util.List; + /** * @author YenHex * @since 2023/5/17 @@ -14,8 +16,10 @@ public class HeaderOption { // private String width; // private String prefix; // private String suffix; -// private Boolean isSum; -// private Integer decimalLength; + private Boolean isSum; + private Integer decimalLength; + private String align; + private List children; public HeaderOption(String name){ this.name = name; diff --git a/src/main/java/com/qs/serve/modules/bir/entity/vo/BirReportVo.java b/src/main/java/com/qs/serve/modules/bir/entity/vo/BirReportVo.java index e92c9c19..6b256bbc 100644 --- a/src/main/java/com/qs/serve/modules/bir/entity/vo/BirReportVo.java +++ b/src/main/java/com/qs/serve/modules/bir/entity/vo/BirReportVo.java @@ -13,7 +13,7 @@ import java.util.Map; @Data public class BirReportVo { - private List> itemList; + private List>> itemList; private List headerList; diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirReportAccountBookServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirReportAccountBookServiceImpl.java index 7e3c3bf4..abb7134b 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirReportAccountBookServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirReportAccountBookServiceImpl.java @@ -15,7 +15,9 @@ import com.qs.serve.modules.bir.mapper.BirRoiRateMapper; import com.qs.serve.modules.bir.service.BirReportAccountBookService; import com.qs.serve.modules.bir.service.BirRoiRateService; import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.bms.entity.vo.BmsRegionTreeVo; import com.qs.serve.modules.bms.mapper.BmsSupplierMapper; +import com.qs.serve.modules.bms.service.BmsRegionService; import com.qs.serve.modules.erp.entity.dto.ErpDispatchSumVo; import com.qs.serve.modules.erp.mapper.ErpDispatchDataMapper; import com.qs.serve.modules.tbs.common.TbsCenterType; @@ -42,6 +44,7 @@ import java.util.stream.Collectors; public class BirReportAccountBookServiceImpl implements BirReportAccountBookService { private final BirReportAccountBookMapper birReportAccountBookMapper; + private final BmsRegionService bmsRegionService; @Override public BirReportVo getReportAccountBookData(String type){ @@ -53,14 +56,51 @@ public class BirReportAccountBookServiceImpl implements BirReportAccountBookServ birReportAccountBookMapper.getReportHeader(map); String headerString = map.get("result"); - List headerOptions = Arrays.stream(headerString.split(",")).map(a->new HeaderOption(a)).collect(Collectors.toList()); + List headerOptions = Arrays.stream(headerString.split(",")).map(a->{ + String temp = a.trim(); + if(temp.contains("as")){ + temp = a.split("as")[1].trim(); + } + return new HeaderOption(temp); + }).collect(Collectors.toList()); - vo.setHeaderList(headerOptions); + + List>> list = new ArrayList<>(); if(type.equals(TbsCenterType.saleRegion.name())){ - vo.setItemList(birReportAccountBookMapper.reportAccountBookRegion()); + List> itemList = birReportAccountBookMapper.reportAccountBookRegion(); +// +// List regionList = bmsRegionService.getTree(false); +// List>> regionDataList = regionList.stream().map(a-> +// itemList.stream().filter(i->i.get("成本中心编码").toString().startsWith(a.getCode())).collect(Collectors.toList()) +// ).filter(p->p.size()!=0).collect(Collectors.toList()); +// +// headerOptions = headerOptions.stream().map(a->{ +// if(a.getName().startsWith("成本中心")){ +// +// }else{ +//// a.setIsSum(true); +// a.setDecimalLength(2); +// a.setAlign("right"); +// } +// return a; +// }).collect(Collectors.toList()); +// +// list = regionDataList; + list.add(itemList); + }else if(type.equals(TbsCenterType.bizRegion.name())){ + List> itemList = birReportAccountBookMapper.reportAccountBookBizRegion(); + list.add(itemList); + }else if(type.equals(TbsCenterType.customer.name())){ + List> itemList = birReportAccountBookMapper.reportAccountBookCustomer(); + list.add(itemList); + }else if(type.equals(TbsCenterType.center.name())){ + List> itemList = birReportAccountBookMapper.reportAccountBookCenter(); + list.add(itemList); } + vo.setHeaderList(headerOptions); + vo.setItemList(list); return vo; } }