Commit be3163e1 by 高晓磊

价格趋势图调整

parent 947c41bc
......@@ -18,6 +18,18 @@ public class PriceAdjustmentEchartSearchEntity {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date adjustmentEndDate;
/**
* 0 日 1月 2年
*/
private Integer dateType;
public Integer getDateType() {
return dateType;
}
public void setDateType(Integer dateType) {
this.dateType = dateType;
}
public List<UUID> getStationIds() {
return stationIds;
......
......@@ -31,4 +31,13 @@ public class TimeValue {
public void setValue(Double value) {
this.value = value;
}
public TimeValue(UUID id, Date time, Double value) {
this.id = id;
this.time = time;
this.value = value;
}
public TimeValue() {
}
}
......@@ -4,11 +4,10 @@ import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.common.BaseConstants;
import com.beecode.inz.common.util.DateTimeUtils;
import com.beecode.util.DateUtil;
import com.xyst.dinas.price.dao.PriceAdjustmentDao;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
import com.xyst.dinas.price.entity.*;
import com.xyst.dinas.price.enumeration.PriceAdjustmentAdjustmentStatusEnum;
import com.xyst.dinas.price.service.PriceAdjustmentService;
import com.xyst.dinas.price.service.RegionalCompanyPriceAuthorityService;
......@@ -16,10 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Transactional(rollbackFor = Exception.class)
public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
......@@ -72,7 +72,32 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Override
public List<PriceAdjustmentEchartReturnEntity> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity) {
return priceAdjustmentDao.getDetailsByFilter(priceAdjustmentEchartSearchEntity);
List<PriceAdjustmentEchartReturnEntity> detailsByFilter = priceAdjustmentDao.getDetailsByFilter(priceAdjustmentEchartSearchEntity);
if(null==priceAdjustmentEchartSearchEntity.getDateType() || priceAdjustmentEchartSearchEntity.getDateType()==0){
return detailsByFilter;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMM");
if(priceAdjustmentEchartSearchEntity.getDateType()==2){
dateFormat= new SimpleDateFormat("yyyy");
}
SimpleDateFormat finalDateFormat = dateFormat;
for (PriceAdjustmentEchartReturnEntity priceAdjustmentEchartReturnEntity : detailsByFilter) {
List<StationDetailEntity> stationDetails = priceAdjustmentEchartReturnEntity.getStationDetails();
for (StationDetailEntity stationDetail : stationDetails) {
List<TimeValue> timeValues = stationDetail.getTimeValues();
ArrayList<TimeValue> timeValues2 = new ArrayList<>();
Map<String, List<TimeValue>> collect = timeValues.stream().collect(Collectors.groupingBy(timeValue -> finalDateFormat.format(timeValue.getTime())));
collect.forEach((s, timeValues1) -> {
try {
timeValues2.add(new TimeValue(UUID.randomUUID(),finalDateFormat.parse(s),timeValues1.stream().mapToDouble(TimeValue::getValue).summaryStatistics().getAverage()));
} catch (ParseException e) {
e.printStackTrace();
}
});
stationDetail.setTimeValues(timeValues2);
}
}
return detailsByFilter;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment