|
@@ -213,14 +213,6 @@ public class DeletionServiceImpl implements DeletionService {
|
|
return deletionInfoMapper.getFundDeletionTypeMapList();
|
|
return deletionInfoMapper.getFundDeletionTypeMapList();
|
|
}
|
|
}
|
|
|
|
|
|
- public static Integer getWeekOfYear(String priceDate) {
|
|
|
|
- int year = Integer.parseInt(priceDate.substring(0, 4));
|
|
|
|
- int week = DateUtil.weekOfYear(DateUtils.parse(priceDate, DateUtils.YYYY_MM_DD));
|
|
|
|
- if (week < 10) {
|
|
|
|
- return Integer.valueOf(year + "0" + week);
|
|
|
|
- }
|
|
|
|
- return Integer.valueOf(year + "" + week);
|
|
|
|
- }
|
|
|
|
|
|
|
|
private void distributionDeletion(String fundId, List<NavDO> navDOList) {
|
|
private void distributionDeletion(String fundId, List<NavDO> navDOList) {
|
|
if(navDOList.size() < 1){
|
|
if(navDOList.size() < 1){
|
|
@@ -310,8 +302,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)));
|
|
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<>();
|
|
TreeMap<Integer,List<AssetDO>> weekNavListMap = new TreeMap<>();
|
|
//按周数整合
|
|
//按周数整合
|
|
|
|
+ Map<String,Integer> weekOfYearMap = new HashMap<>();
|
|
|
|
+ tradeDateDOList.forEach(tradeDateDO -> {weekOfYearMap.put(DateUtils.format(tradeDateDO.getTradeDate(), DateUtils.YYYY_MM_DD),tradeDateDO.getYearWeek());});
|
|
for(String priceDate : navListMap.keySet()){
|
|
for(String priceDate : navListMap.keySet()){
|
|
- Integer weekOfYear = getWeekOfYear(priceDate);
|
|
|
|
|
|
+ Integer weekOfYear = weekOfYearMap.get(priceDate);
|
|
|
|
+ if(weekOfYear == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
List<AssetDO> assetDOS = weekNavListMap.get(weekOfYear);
|
|
List<AssetDO> assetDOS = weekNavListMap.get(weekOfYear);
|
|
assetDOS.addAll(navListMap.get(priceDate));
|
|
assetDOS.addAll(navListMap.get(priceDate));
|
|
@@ -492,8 +489,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)));
|
|
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<>();
|
|
TreeMap<Integer,List<NavDO>> weekNavListMap = new TreeMap<>();
|
|
//按周数整合
|
|
//按周数整合
|
|
|
|
+ Map<String,Integer> weekOfYearMap = new HashMap<>();
|
|
|
|
+ tradeDateDOList.forEach(tradeDateDO -> {weekOfYearMap.put(DateUtils.format(tradeDateDO.getTradeDate(), DateUtils.YYYY_MM_DD),tradeDateDO.getYearWeek());});
|
|
for(String priceDate : navListMap.keySet()){
|
|
for(String priceDate : navListMap.keySet()){
|
|
- Integer weekOfYear = getWeekOfYear(priceDate);
|
|
|
|
|
|
+ Integer weekOfYear = weekOfYearMap.get(priceDate);
|
|
|
|
+ if(weekOfYear == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
List<NavDO> navDOS = weekNavListMap.get(weekOfYear);
|
|
List<NavDO> navDOS = weekNavListMap.get(weekOfYear);
|
|
navDOS.addAll(navListMap.get(priceDate));
|
|
navDOS.addAll(navListMap.get(priceDate));
|
|
@@ -673,8 +675,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)));
|
|
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<>();
|
|
TreeMap<Integer,List<FundPositionDetailDO>> weekNavListMap = new TreeMap<>();
|
|
//按周数整合
|
|
//按周数整合
|
|
|
|
+ Map<String,Integer> weekOfYearMap = new HashMap<>();
|
|
|
|
+ tradeDateDOList.forEach(tradeDateDO -> {weekOfYearMap.put(DateUtils.format(tradeDateDO.getTradeDate(), DateUtils.YYYY_MM_DD),tradeDateDO.getYearWeek());});
|
|
for(String priceDate : valuationListMap.keySet()){
|
|
for(String priceDate : valuationListMap.keySet()){
|
|
- Integer weekOfYear = getWeekOfYear(priceDate);
|
|
|
|
|
|
+ Integer weekOfYear = weekOfYearMap.get(priceDate);
|
|
|
|
+ if(weekOfYear == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
List<FundPositionDetailDO> valuationDOS = weekNavListMap.get(weekOfYear);
|
|
List<FundPositionDetailDO> valuationDOS = weekNavListMap.get(weekOfYear);
|
|
valuationDOS.addAll(valuationListMap.get(priceDate));
|
|
valuationDOS.addAll(valuationListMap.get(priceDate));
|