|
@@ -345,8 +345,13 @@ public class DeletionServiceImpl implements DeletionService {
|
|
|
Map<String,List<AssetDO>> navListMap = assetDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
|
TreeMap<Integer,List<AssetDO>> weekNavListMap = new TreeMap<>();
|
|
|
//按周数整合
|
|
|
+ Map<String,Integer> tradeDateMap = new HashMap<>();
|
|
|
+ tradeDateDOList.forEach(tradeDateDO -> tradeDateMap.put(DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD),tradeDateDO.getYearWeek()));
|
|
|
for(String priceDate : navListMap.keySet()){
|
|
|
- Integer weekOfYear = Integer.parseInt(priceDate.substring(0,4)+DateUtil.weekOfYear(DateUtils.parse(priceDate,DateUtils.YYYY_MM_DD)));
|
|
|
+ Integer weekOfYear = tradeDateMap.get(priceDate);
|
|
|
+ if(weekOfYear == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
|
List<AssetDO> assetDOS = weekNavListMap.get(weekOfYear);
|
|
|
assetDOS.addAll(navListMap.get(priceDate));
|
|
@@ -528,8 +533,13 @@ public class DeletionServiceImpl implements DeletionService {
|
|
|
Map<String,List<NavDO>> navListMap = navDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
|
TreeMap<Integer,List<NavDO>> weekNavListMap = new TreeMap<>();
|
|
|
//按周数整合
|
|
|
+ Map<String,Integer> tradeDateMap = new HashMap<>();
|
|
|
+ tradeDateDOList.forEach(tradeDateDO -> tradeDateMap.put(DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD),tradeDateDO.getYearWeek()));
|
|
|
for(String priceDate : navListMap.keySet()){
|
|
|
- Integer weekOfYear = Integer.parseInt(priceDate.substring(0,4)+DateUtil.weekOfYear(DateUtils.parse(priceDate,DateUtils.YYYY_MM_DD)));;
|
|
|
+ Integer weekOfYear = tradeDateMap.get(priceDate);
|
|
|
+ if(weekOfYear == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
|
List<NavDO> navDOS = weekNavListMap.get(weekOfYear);
|
|
|
navDOS.addAll(navListMap.get(priceDate));
|
|
@@ -709,8 +719,13 @@ public class DeletionServiceImpl implements DeletionService {
|
|
|
Map<String,List<FundPositionDetailDO>> valuationListMap = fundPositionDetailDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getValuationDate(),DateUtils.YYYY_MM_DD)));
|
|
|
TreeMap<Integer,List<FundPositionDetailDO>> weekNavListMap = new TreeMap<>();
|
|
|
//按周数整合
|
|
|
+ Map<String,Integer> tradeDateMap = new HashMap<>();
|
|
|
+ tradeDateDOList.forEach(tradeDateDO -> tradeDateMap.put(DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD),tradeDateDO.getYearWeek()));
|
|
|
for(String priceDate : valuationListMap.keySet()){
|
|
|
- Integer weekOfYear = Integer.parseInt(priceDate.substring(0,4)+DateUtil.weekOfYear(DateUtils.parse(priceDate,DateUtils.YYYY_MM_DD)));;
|
|
|
+ Integer weekOfYear = tradeDateMap.get(priceDate);
|
|
|
+ if(weekOfYear == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
|
List<FundPositionDetailDO> valuationDOS = weekNavListMap.get(weekOfYear);
|
|
|
valuationDOS.addAll(valuationListMap.get(priceDate));
|