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