mirror of
https://gitee.com/san-bing/JChargePointProtocol
synced 2026-06-20 06:59:42 +08:00
docs: 更新许可证头信息
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
微信:mohan_88888
|
||||
抖音:程序员三丙
|
||||
付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
@@ -2,11 +2,10 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -154,7 +153,6 @@ public class LvnengProtocolMessageProcessor extends ProtocolMessageProcessor {
|
||||
exeCmd(message, session);
|
||||
}
|
||||
|
||||
|
||||
private void exeCmd(LvnengUplinkMessage message, TcpSession session) {
|
||||
String protocolName = session.getProtocolName();
|
||||
int cmd = message.getCmd();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.enums;
|
||||
|
||||
@@ -135,7 +135,6 @@ public enum LvnengAlarmCodeEnum {
|
||||
*/
|
||||
private final String description;
|
||||
|
||||
|
||||
private static final String UNKNOWN_DESC = "未知故障码";
|
||||
private static final Map<Integer, LvnengAlarmCodeEnum> CODE_TO_ENUM_MAP = new HashMap<>();
|
||||
|
||||
@@ -152,7 +151,6 @@ public enum LvnengAlarmCodeEnum {
|
||||
}
|
||||
return lvnengAlarmCodeEnum.getDescription();
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.enums;
|
||||
|
||||
@@ -62,10 +62,6 @@ public enum LvnengGunCodeNameEnum {
|
||||
*/
|
||||
private final String description;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private static final String UNKNOWN_DESC = "未知状态";
|
||||
private static final Map<String, LvnengGunCodeNameEnum> CODE_TO_ENUM_MAP = new HashMap<>();
|
||||
|
||||
@@ -82,7 +78,6 @@ public enum LvnengGunCodeNameEnum {
|
||||
}
|
||||
return lvnengPileStatusEnum.getParameterAddress();
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.enums;
|
||||
|
||||
@@ -483,12 +483,10 @@ public enum LvnengPileFinishReasonEnum {
|
||||
// 终止代码336 → 上报值:336 + 256 = 592
|
||||
CODE_592(592, "液冷 AB 板 CAN3 离线中止");
|
||||
|
||||
|
||||
private final int code;
|
||||
|
||||
private final String description;
|
||||
|
||||
|
||||
private static final String UNKNOWN_DESC = "未知结束原因";
|
||||
private static final Map<Integer, LvnengPileFinishReasonEnum> CODE_TO_ENUM_MAP = new HashMap<>();
|
||||
|
||||
@@ -505,7 +503,6 @@ public enum LvnengPileFinishReasonEnum {
|
||||
}
|
||||
return lvnengPileFinishReasonEnum.getDescription();
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.enums;
|
||||
|
||||
@@ -27,16 +27,12 @@ public enum LvnengPileStartTypeEnum {
|
||||
|
||||
CARD_SWIPE(0, "刷卡启动"),
|
||||
|
||||
|
||||
SERVER(1, "服务器启动"),
|
||||
|
||||
|
||||
LOCAL_ADMIN(2, "本地管理员启动"),
|
||||
|
||||
|
||||
VIN(3, "VIN启动");
|
||||
|
||||
|
||||
private final int code;
|
||||
|
||||
private final String description;
|
||||
@@ -57,7 +53,6 @@ public enum LvnengPileStartTypeEnum {
|
||||
}
|
||||
return lvnengPileStartTypeEnum.getDescription();
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.enums;
|
||||
|
||||
@@ -35,12 +35,10 @@ public enum LvnengPileStatusEnum {
|
||||
|
||||
SYSTEM_FAILURE(6, "系统故障(不能给汽车充电)");
|
||||
|
||||
|
||||
private final int code;
|
||||
|
||||
private final String description;
|
||||
|
||||
|
||||
private static final String UNKNOWN_DESC = "未知状态";
|
||||
private static final Map<Integer, LvnengPileStatusEnum> CODE_TO_ENUM_MAP = new HashMap<>();
|
||||
|
||||
@@ -57,7 +55,6 @@ public enum LvnengPileStatusEnum {
|
||||
}
|
||||
return lvnengPileStatusEnum.getDescription();
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.mapping;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -78,7 +78,6 @@ public class LvnengV340LoginAckDLCmd extends LvnengDownlinkCmdExe {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void loginAck(TcpSession tcpSession, LvnengUplinkMessage requestData, byte[] randomNumBytes) {
|
||||
// 创建ACK消息体7字节桩编号+1字节登录结果
|
||||
ByteBuf loginAckMsgBody = Unpooled.buffer(18);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -235,7 +235,6 @@ public class LvnengV340RealTimeDataULCmd extends LvnengUplinkCmdExe {
|
||||
.setAdditionalInfo(additionalInfo.toString())
|
||||
.build();
|
||||
|
||||
|
||||
// 转发到后端
|
||||
UplinkQueueMessage uplinkQueueMessage = uplinkMessageBuilder(gunRunStatusProto.getPileCode(), tcpSession, lvnengUplinkMessage)
|
||||
.setGunRunStatusProto(gunRunStatusProto)
|
||||
@@ -283,7 +282,6 @@ public class LvnengV340RealTimeDataULCmd extends LvnengUplinkCmdExe {
|
||||
return new BigDecimal(value).divide(new BigDecimal(magnification), scale, RoundingMode.HALF_UP);
|
||||
}
|
||||
|
||||
|
||||
protected static String getBmsChargingTypeDesc(int value) {
|
||||
return switch (value) {
|
||||
case 1 -> "恒压";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -32,8 +32,6 @@ import static sanbing.jcpp.protocol.lvneng.LvnengProtocolConstants.ProtocolNames
|
||||
@ProtocolCmd(value = 6, protocolNames = {V340})
|
||||
public class LvnengV340RemoteStopAckULCmd extends LvnengUplinkCmdExe {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(TcpSession tcpSession, LvnengUplinkMessage lvnengUplinkMessage, ProtocolContext ctx) {
|
||||
log.debug("{} 绿能3.4 充电桩对服务器控制命令应答", tcpSession);
|
||||
@@ -52,7 +50,6 @@ public class LvnengV340RemoteStopAckULCmd extends LvnengUplinkCmdExe {
|
||||
byteBuf.readBytes(pileCodeBytes);
|
||||
String pileCode = StringUtils.trim(new String(pileCodeBytes, StandardCharsets.US_ASCII));
|
||||
|
||||
|
||||
//4 充电枪口
|
||||
int gunCode = byteBuf.readByte();
|
||||
additionalInfo.put("充电枪口", gunCode);
|
||||
@@ -68,10 +65,8 @@ public class LvnengV340RemoteStopAckULCmd extends LvnengUplinkCmdExe {
|
||||
// 7 命令执行结果 0x00成功 0x01失败
|
||||
boolean isSuccess = (byteBuf.readByte() == 0x00);
|
||||
|
||||
|
||||
tcpSession.addPileCode(pileCode);
|
||||
|
||||
|
||||
RemoteStopChargingResponse remoteStopChargingResponse = RemoteStopChargingResponse.newBuilder()
|
||||
.setPileCode(pileCode)
|
||||
.setGunNo(gunCode + "")
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -35,7 +35,6 @@ public class LvnengV340RemoteStopDLCmd extends LvnengDownlinkCmdExe {
|
||||
|
||||
}
|
||||
|
||||
|
||||
DownlinkProto.RemoteStopChargingRequest remoteStopChargingRequest = lvnengDwonlinkMessage.getMsg().getRemoteStopChargingRequest();
|
||||
String pileCode = remoteStopChargingRequest.getPileCode();
|
||||
String gunCode = remoteStopChargingRequest.getGunNo();
|
||||
@@ -61,7 +60,4 @@ public class LvnengV340RemoteStopDLCmd extends LvnengDownlinkCmdExe {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -56,7 +56,6 @@ public class LvnengV340SetPricingModelDLCmd extends LvnengDownlinkCmdExe {
|
||||
DownlinkProto.TimePeriodPricingProto timePeriodPricing = pricingModel.getTimePeriodPricing();
|
||||
periodList = timePeriodPricing.getPeriodsList();
|
||||
|
||||
|
||||
} else {
|
||||
// 未知计费模式
|
||||
log.error("未知的计费模式,桩编号: {}, 计费ID: {}, 计费规则: {}", pileCode, pricingId, pricingModel.getRule());
|
||||
@@ -78,7 +77,6 @@ public class LvnengV340SetPricingModelDLCmd extends LvnengDownlinkCmdExe {
|
||||
setPricingAckMsgBody.writeIntLE(buildPrice(x.getServPrice()));
|
||||
}
|
||||
|
||||
|
||||
// 放进缓存后再下发
|
||||
tcpSession.getRequestCache().put(pileCode + LvnengDownlinkCmdConverter.getInstance().convertToCmd(SET_PRICING), pricingId);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -61,7 +61,6 @@ public class LvnengV340SetQrcodeModelDLCmd extends LvnengDownlinkCmdExe {
|
||||
msgBody.writeBytes(qrcodeModel.getCode().getBytes(StandardCharsets.US_ASCII));
|
||||
//获取二维码参数地址
|
||||
|
||||
|
||||
// 放进缓存后再下发
|
||||
// tcpSession.getRequestCache().put(pileCode + LvnengDownlinkCmdConverter.getInstance().convertToCmd(SET_PRICING), pricingId);
|
||||
|
||||
@@ -70,5 +69,4 @@ public class LvnengV340SetQrcodeModelDLCmd extends LvnengDownlinkCmdExe {
|
||||
tcpSession);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -74,5 +74,4 @@ public class LvnengV340TransactionRecordAckDLCmd extends LvnengDownlinkCmdExe {
|
||||
return bytes;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
|
||||
* 微信:mohan_88888
|
||||
* 抖音:程序员三丙
|
||||
* 付费课程知识星球:https://t.zsxq.com/aKtXo
|
||||
* 付费课程:https://www.bilibili.com/cheese/play/ss942400790
|
||||
*/
|
||||
package sanbing.jcpp.protocol.lvneng.v340.cmd;
|
||||
|
||||
@@ -42,7 +42,6 @@ import static sanbing.jcpp.protocol.lvneng.LvnengProtocolConstants.ProtocolNames
|
||||
@ProtocolCmd(value = 203, protocolNames = {V340})
|
||||
public class LvnengV340TransactionRecordULCmd extends LvnengUplinkCmdExe {
|
||||
|
||||
|
||||
private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
|
||||
|
||||
@Override
|
||||
@@ -178,7 +177,6 @@ public class LvnengV340TransactionRecordULCmd extends LvnengUplinkCmdExe {
|
||||
|
||||
tcpSession.addPileCode(pileCode);
|
||||
|
||||
|
||||
//充电明细
|
||||
TimePeriodDetail timePeriodDetail = TimePeriodDetail.newBuilder()
|
||||
.addAllPeriods(list)
|
||||
@@ -213,7 +211,6 @@ public class LvnengV340TransactionRecordULCmd extends LvnengUplinkCmdExe {
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected static BigDecimal reduceMagnification(long value, int magnification, int scale) {
|
||||
return new BigDecimal(value).divide(new BigDecimal(magnification), scale, RoundingMode.HALF_UP);
|
||||
}
|
||||
@@ -222,5 +219,4 @@ public class LvnengV340TransactionRecordULCmd extends LvnengUplinkCmdExe {
|
||||
return time.format(DATE_TIME_FORMATTER);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user