mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-02 21:18:05 +08:00
自动生成计费模板备注
This commit is contained in:
@@ -4,7 +4,7 @@ package com.jsowell.common.enums.ykc;
|
|||||||
* 计费模板 时间类型
|
* 计费模板 时间类型
|
||||||
* (1-尖时;2-峰时;3-平时;4-谷时)
|
* (1-尖时;2-峰时;3-平时;4-谷时)
|
||||||
*/
|
*/
|
||||||
public enum BillingTimeEnum {
|
public enum BillingTimeTypeEnum {
|
||||||
SHARP("1", "尖时"),
|
SHARP("1", "尖时"),
|
||||||
PEAK("2", "峰时"),
|
PEAK("2", "峰时"),
|
||||||
FLAT("3", "平时"),
|
FLAT("3", "平时"),
|
||||||
@@ -30,8 +30,17 @@ public enum BillingTimeEnum {
|
|||||||
this.label = label;
|
this.label = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
BillingTimeEnum(String value, String label) {
|
BillingTimeTypeEnum(String value, String label) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
this.label = label;
|
this.label = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getLabelByValue(String value) {
|
||||||
|
for (BillingTimeTypeEnum billingTimeEnum : BillingTimeTypeEnum.values()) {
|
||||||
|
if (billingTimeEnum.getValue().equals(value)) {
|
||||||
|
return billingTimeEnum.getLabel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,7 @@ public class PileBillingDetail extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 时段类型(1-尖时;2-峰时;3-平时;4-谷时)
|
* 时段类型(1-尖时;2-峰时;3-平时;4-谷时)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "时段类型", readConverterExp = "1=-尖时;2-峰时;3-平时;4-谷时")
|
@Excel(name = "时段类型", readConverterExp = "1-尖时;2-峰时;3-平时;4-谷时")
|
||||||
private String timeType;
|
private String timeType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2632,7 +2632,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
public List<OrderPeriodAmountVO> transformPeriodAmountByOrderDetail(OrderDetail orderDetail) {
|
public List<OrderPeriodAmountVO> transformPeriodAmountByOrderDetail(OrderDetail orderDetail) {
|
||||||
// 尖时段
|
// 尖时段
|
||||||
OrderPeriodAmountVO sharp = new OrderPeriodAmountVO();
|
OrderPeriodAmountVO sharp = new OrderPeriodAmountVO();
|
||||||
sharp.setPeriodType(BillingTimeEnum.SHARP.getLabel());
|
sharp.setPeriodType(BillingTimeTypeEnum.SHARP.getLabel());
|
||||||
sharp.setElectricityPrice(orderDetail.getSharpElectricityPrice());
|
sharp.setElectricityPrice(orderDetail.getSharpElectricityPrice());
|
||||||
sharp.setServicePrice(orderDetail.getSharpServicePrice());
|
sharp.setServicePrice(orderDetail.getSharpServicePrice());
|
||||||
BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getSharpUsedElectricity();
|
BigDecimal sharpUsedElectricity = orderDetail.getSharpUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getSharpUsedElectricity();
|
||||||
@@ -2642,7 +2642,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
|
|
||||||
// 峰时段
|
// 峰时段
|
||||||
OrderPeriodAmountVO peak = new OrderPeriodAmountVO();
|
OrderPeriodAmountVO peak = new OrderPeriodAmountVO();
|
||||||
peak.setPeriodType(BillingTimeEnum.PEAK.getLabel());
|
peak.setPeriodType(BillingTimeTypeEnum.PEAK.getLabel());
|
||||||
peak.setElectricityPrice(orderDetail.getPeakElectricityPrice());
|
peak.setElectricityPrice(orderDetail.getPeakElectricityPrice());
|
||||||
peak.setServicePrice(orderDetail.getPeakServicePrice());
|
peak.setServicePrice(orderDetail.getPeakServicePrice());
|
||||||
BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getPeakUsedElectricity();
|
BigDecimal peakUsedElectricity = orderDetail.getPeakUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getPeakUsedElectricity();
|
||||||
@@ -2652,7 +2652,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
|
|
||||||
// 平时段
|
// 平时段
|
||||||
OrderPeriodAmountVO flat = new OrderPeriodAmountVO();
|
OrderPeriodAmountVO flat = new OrderPeriodAmountVO();
|
||||||
flat.setPeriodType(BillingTimeEnum.FLAT.getLabel());
|
flat.setPeriodType(BillingTimeTypeEnum.FLAT.getLabel());
|
||||||
flat.setElectricityPrice(orderDetail.getFlatElectricityPrice());
|
flat.setElectricityPrice(orderDetail.getFlatElectricityPrice());
|
||||||
flat.setServicePrice(orderDetail.getFlatServicePrice());
|
flat.setServicePrice(orderDetail.getFlatServicePrice());
|
||||||
BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getFlatUsedElectricity();
|
BigDecimal flatUsedElectricity = orderDetail.getFlatUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getFlatUsedElectricity();
|
||||||
@@ -2662,7 +2662,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
|
|
||||||
// 谷时段
|
// 谷时段
|
||||||
OrderPeriodAmountVO valley = new OrderPeriodAmountVO();
|
OrderPeriodAmountVO valley = new OrderPeriodAmountVO();
|
||||||
valley.setPeriodType(BillingTimeEnum.VALLEY.getLabel());
|
valley.setPeriodType(BillingTimeTypeEnum.VALLEY.getLabel());
|
||||||
valley.setElectricityPrice(orderDetail.getValleyElectricityPrice());
|
valley.setElectricityPrice(orderDetail.getValleyElectricityPrice());
|
||||||
valley.setServicePrice(orderDetail.getValleyServicePrice());
|
valley.setServicePrice(orderDetail.getValleyServicePrice());
|
||||||
BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getValleyUsedElectricity();
|
BigDecimal valleyUsedElectricity = orderDetail.getValleyUsedElectricity() == null ? BigDecimal.ZERO : orderDetail.getValleyUsedElectricity();
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.jsowell.common.constant.Constants;
|
|||||||
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
|
||||||
import com.jsowell.common.core.redis.RedisCache;
|
import com.jsowell.common.core.redis.RedisCache;
|
||||||
import com.jsowell.common.enums.DelFlagEnum;
|
import com.jsowell.common.enums.DelFlagEnum;
|
||||||
import com.jsowell.common.enums.ykc.BillingTimeEnum;
|
import com.jsowell.common.enums.ykc.BillingTimeTypeEnum;
|
||||||
import com.jsowell.common.util.*;
|
import com.jsowell.common.util.*;
|
||||||
import com.jsowell.common.util.id.Seq;
|
import com.jsowell.common.util.id.Seq;
|
||||||
import com.jsowell.pile.domain.PileBillingDetail;
|
import com.jsowell.pile.domain.PileBillingDetail;
|
||||||
@@ -188,7 +188,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
// 计费模板详情
|
// 计费模板详情
|
||||||
List<PileBillingDetail> detailList = Lists.newArrayList();
|
List<PileBillingDetail> detailList = Lists.newArrayList();
|
||||||
PileBillingDetail detail = null;
|
PileBillingDetail detail = null;
|
||||||
for (BillingTimeEnum billingTimeEnum : BillingTimeEnum.values()) {
|
for (BillingTimeTypeEnum billingTimeEnum : BillingTimeTypeEnum.values()) {
|
||||||
detail = new PileBillingDetail();
|
detail = new PileBillingDetail();
|
||||||
detail.setTemplateCode(templateCode);
|
detail.setTemplateCode(templateCode);
|
||||||
String type = billingTimeEnum.getValue(); // 时段类型
|
String type = billingTimeEnum.getValue(); // 时段类型
|
||||||
@@ -208,6 +208,9 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
detailList.add(detail);
|
detailList.add(detail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 生成备注
|
||||||
|
billingTemplate.setRemark(generateRemark(detailList));
|
||||||
|
|
||||||
BillingTemplateTransactionDTO build = BillingTemplateTransactionDTO.builder()
|
BillingTemplateTransactionDTO build = BillingTemplateTransactionDTO.builder()
|
||||||
.billingTemplate(billingTemplate)
|
.billingTemplate(billingTemplate)
|
||||||
.detailList(detailList)
|
.detailList(detailList)
|
||||||
@@ -248,6 +251,9 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
// 生成计费详情list
|
// 生成计费详情list
|
||||||
List<PileBillingDetail> pileBillingDetails = generateBillingDetailList(billingTemplate.getTemplateCode(), dto);
|
List<PileBillingDetail> pileBillingDetails = generateBillingDetailList(billingTemplate.getTemplateCode(), dto);
|
||||||
|
|
||||||
|
// 生成备注
|
||||||
|
billingTemplate.setRemark(generateRemark(pileBillingDetails));
|
||||||
|
|
||||||
BillingTemplateTransactionDTO build = BillingTemplateTransactionDTO.builder()
|
BillingTemplateTransactionDTO build = BillingTemplateTransactionDTO.builder()
|
||||||
.billingTemplate(billingTemplate)
|
.billingTemplate(billingTemplate)
|
||||||
.detailList(pileBillingDetails)
|
.detailList(pileBillingDetails)
|
||||||
@@ -269,7 +275,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
// 计费模板详情
|
// 计费模板详情
|
||||||
List<PileBillingDetail> detailList = Lists.newArrayList();
|
List<PileBillingDetail> detailList = Lists.newArrayList();
|
||||||
PileBillingDetail detail = null;
|
PileBillingDetail detail = null;
|
||||||
for (BillingTimeEnum billingTimeEnum : BillingTimeEnum.values()) {
|
for (BillingTimeTypeEnum billingTimeEnum : BillingTimeTypeEnum.values()) {
|
||||||
detail = new PileBillingDetail();
|
detail = new PileBillingDetail();
|
||||||
detail.setTemplateCode(templateCode);
|
detail.setTemplateCode(templateCode);
|
||||||
String type = billingTimeEnum.getValue(); // 时段类型
|
String type = billingTimeEnum.getValue(); // 时段类型
|
||||||
@@ -316,16 +322,16 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
String type = billingDetail.getTimeType();
|
String type = billingDetail.getTimeType();
|
||||||
BigDecimal electricityPrice = billingDetail.getElectricityPrice();
|
BigDecimal electricityPrice = billingDetail.getElectricityPrice();
|
||||||
BigDecimal servicePrice = billingDetail.getServicePrice();
|
BigDecimal servicePrice = billingDetail.getServicePrice();
|
||||||
if (StringUtils.equals(type, BillingTimeEnum.SHARP.getValue())) {
|
if (StringUtils.equals(type, BillingTimeTypeEnum.SHARP.getValue())) {
|
||||||
result.setElectricityPriceA(electricityPrice);
|
result.setElectricityPriceA(electricityPrice);
|
||||||
result.setServicePriceA(servicePrice);
|
result.setServicePriceA(servicePrice);
|
||||||
} else if (StringUtils.equals(type, BillingTimeEnum.PEAK.getValue())) {
|
} else if (StringUtils.equals(type, BillingTimeTypeEnum.PEAK.getValue())) {
|
||||||
result.setElectricityPriceB(electricityPrice);
|
result.setElectricityPriceB(electricityPrice);
|
||||||
result.setServicePriceB(servicePrice);
|
result.setServicePriceB(servicePrice);
|
||||||
} else if (StringUtils.equals(type, BillingTimeEnum.FLAT.getValue())) {
|
} else if (StringUtils.equals(type, BillingTimeTypeEnum.FLAT.getValue())) {
|
||||||
result.setElectricityPriceC(electricityPrice);
|
result.setElectricityPriceC(electricityPrice);
|
||||||
result.setServicePriceC(servicePrice);
|
result.setServicePriceC(servicePrice);
|
||||||
} else if (StringUtils.equals(type, BillingTimeEnum.VALLEY.getValue())) {
|
} else if (StringUtils.equals(type, BillingTimeTypeEnum.VALLEY.getValue())) {
|
||||||
result.setElectricityPriceD(electricityPrice);
|
result.setElectricityPriceD(electricityPrice);
|
||||||
result.setServicePriceD(servicePrice);
|
result.setServicePriceD(servicePrice);
|
||||||
}
|
}
|
||||||
@@ -457,6 +463,9 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
// 计费模板收费详情
|
// 计费模板收费详情
|
||||||
List<PileBillingDetail> stationBillingDetailList = generateBillingDetailList(templateCode, dto);
|
List<PileBillingDetail> stationBillingDetailList = generateBillingDetailList(templateCode, dto);
|
||||||
|
|
||||||
|
// 生成备注
|
||||||
|
stationBillingTemplate.setRemark(generateRemark(stationBillingDetailList));
|
||||||
|
|
||||||
// 入库
|
// 入库
|
||||||
BillingTemplateTransactionDTO billingTemplateTransactionDTO = new BillingTemplateTransactionDTO();
|
BillingTemplateTransactionDTO billingTemplateTransactionDTO = new BillingTemplateTransactionDTO();
|
||||||
billingTemplateTransactionDTO.setBillingTemplate(stationBillingTemplate);
|
billingTemplateTransactionDTO.setBillingTemplate(stationBillingTemplate);
|
||||||
@@ -615,16 +624,16 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
for (BillingTimeDTO billingTimeDTO : timeArray) {
|
for (BillingTimeDTO billingTimeDTO : timeArray) {
|
||||||
BillingPriceVO vo = new BillingPriceVO();
|
BillingPriceVO vo = new BillingPriceVO();
|
||||||
String type = billingTimeDTO.getType();
|
String type = billingTimeDTO.getType();
|
||||||
if (StringUtils.equals(type, BillingTimeEnum.SHARP.getValue())) {
|
if (StringUtils.equals(type, BillingTimeTypeEnum.SHARP.getValue())) {
|
||||||
vo.setElectricityPrice(billingTemplateVO.getSharpElectricityPrice().toString());
|
vo.setElectricityPrice(billingTemplateVO.getSharpElectricityPrice().toString());
|
||||||
vo.setServicePrice(billingTemplateVO.getSharpServicePrice().toString());
|
vo.setServicePrice(billingTemplateVO.getSharpServicePrice().toString());
|
||||||
} else if (StringUtils.equals(type, BillingTimeEnum.PEAK.getValue())) {
|
} else if (StringUtils.equals(type, BillingTimeTypeEnum.PEAK.getValue())) {
|
||||||
vo.setElectricityPrice(billingTemplateVO.getPeakElectricityPrice().toString());
|
vo.setElectricityPrice(billingTemplateVO.getPeakElectricityPrice().toString());
|
||||||
vo.setServicePrice(billingTemplateVO.getPeakServicePrice().toString());
|
vo.setServicePrice(billingTemplateVO.getPeakServicePrice().toString());
|
||||||
} else if (StringUtils.equals(type, BillingTimeEnum.FLAT.getValue())) {
|
} else if (StringUtils.equals(type, BillingTimeTypeEnum.FLAT.getValue())) {
|
||||||
vo.setElectricityPrice(billingTemplateVO.getFlatElectricityPrice().toString());
|
vo.setElectricityPrice(billingTemplateVO.getFlatElectricityPrice().toString());
|
||||||
vo.setServicePrice(billingTemplateVO.getFlatServicePrice().toString());
|
vo.setServicePrice(billingTemplateVO.getFlatServicePrice().toString());
|
||||||
} else if (StringUtils.equals(type, BillingTimeEnum.VALLEY.getValue())) {
|
} else if (StringUtils.equals(type, BillingTimeTypeEnum.VALLEY.getValue())) {
|
||||||
vo.setElectricityPrice(billingTemplateVO.getValleyElectricityPrice().toString());
|
vo.setElectricityPrice(billingTemplateVO.getValleyElectricityPrice().toString());
|
||||||
vo.setServicePrice(billingTemplateVO.getValleyServicePrice().toString());
|
vo.setServicePrice(billingTemplateVO.getValleyServicePrice().toString());
|
||||||
}
|
}
|
||||||
@@ -707,6 +716,8 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
pileBillingDetail.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
pileBillingDetail.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||||
stationBillingDetailList.add(pileBillingDetail);
|
stationBillingDetailList.add(pileBillingDetail);
|
||||||
}
|
}
|
||||||
|
// 生成备注
|
||||||
|
stationBillingTemplate.setRemark(generateRemark(stationBillingDetailList));
|
||||||
// 入库
|
// 入库
|
||||||
BillingTemplateTransactionDTO billingTemplateTransactionDTO = new BillingTemplateTransactionDTO();
|
BillingTemplateTransactionDTO billingTemplateTransactionDTO = new BillingTemplateTransactionDTO();
|
||||||
billingTemplateTransactionDTO.setBillingTemplate(stationBillingTemplate);
|
billingTemplateTransactionDTO.setBillingTemplate(stationBillingTemplate);
|
||||||
@@ -715,6 +726,19 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 根据设置的价格自动生成计费模板
|
||||||
|
private String generateRemark(List<PileBillingDetail> list) {
|
||||||
|
StringBuilder remark = new StringBuilder();
|
||||||
|
for (PileBillingDetail pileBillingDetail : list) {
|
||||||
|
String timeType = pileBillingDetail.getTimeType();
|
||||||
|
String label = BillingTimeTypeEnum.getLabelByValue(timeType);
|
||||||
|
remark.append(label).append("-");
|
||||||
|
remark.append(pileBillingDetail.getServicePrice().add(pileBillingDetail.getServicePrice()));
|
||||||
|
remark.append("元; ");
|
||||||
|
}
|
||||||
|
return remark.toString();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] generateBillingTemplateMsgBody(String pileSn, BillingTemplateVO billingTemplateVO) {
|
public byte[] generateBillingTemplateMsgBody(String pileSn, BillingTemplateVO billingTemplateVO) {
|
||||||
if (StringUtils.isBlank(pileSn) || billingTemplateVO == null) {
|
if (StringUtils.isBlank(pileSn) || billingTemplateVO == null) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.jsowell.pile.vo.uniapp;
|
package com.jsowell.pile.vo.uniapp;
|
||||||
|
|
||||||
import com.jsowell.common.enums.ykc.BillingTimeEnum;
|
import com.jsowell.common.enums.ykc.BillingTimeTypeEnum;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -44,7 +44,7 @@ public class BillingPriceVO {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 时段类型(1-尖时;2-峰时;3-平时;4-谷时)
|
* 时段类型(1-尖时;2-峰时;3-平时;4-谷时)
|
||||||
* @see BillingTimeEnum
|
* @see BillingTimeTypeEnum
|
||||||
*/
|
*/
|
||||||
private String timeType;
|
private String timeType;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user