处理磅房作废数据

This commit is contained in:
2024-05-01 20:41:59 +08:00
parent 66f5076ed4
commit 7f441b2a76

View File

@@ -16,6 +16,8 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import io.vavr.control.Try;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Predicate;
@@ -135,138 +137,10 @@ public class WeightListener {
switch (rk.toString()) {
case "weight20.weightinfo" -> {
ArrayNode nodes = (ArrayNode) jsonNode;
var flowNumbers =
StreamSupport.stream(nodes.spliterator(), false)
.map(x -> x.get("序号") + ":" + x.get("流水号").asText() + ":" + x.get("更新时间").asText())
.toList();
logEntity.setContent(StringUtils.join(flowNumbers, ","));
var seqNumbers =
StreamSupport.stream(nodes.spliterator(), false)
.map(x -> x.get("序号").asInt())
.collect(Collectors.toList());
Map<Integer, WeightDeviceDataEntity> seqNumberMap =
weightDeviceDataService
.findAll(
(Specification<WeightDeviceDataEntity>)
(root, query, criteriaBuilder) ->
criteriaBuilder.and(
criteriaBuilder.equal(
root.get("device")
.get("id"),
device.getId()),
root.get("sequenceNumber").in(seqNumbers)))
.stream()
.collect(
Collectors.toMap(
WeightDeviceDataEntity::getSequenceNumber, e -> e));
nodes.forEach(
x -> {
WeightDeviceDataEntity deviceData = new WeightDeviceDataEntity();
var flowNumber = x.get("流水号").asText();
var seqNumber = x.get("序号").asInt();
log.info("data from weight20: {} {} {} {} ", seqNumber, flowNumber, x.get("更新时间").asText() ,device.getId());
if (seqNumberMap.containsKey(seqNumber)) {
log.info("data already exists: {} {} {}", seqNumber, flowNumber, device.getId());
deviceData = seqNumberMap.get(seqNumber);
}
// log.info(x.toPrettyString());
deviceData.setDevice(device);
deviceData.setOrganizationId(device.getOrganizationId());
deviceData.setSequenceNumber(toInteger(x.get("序号")));
deviceData.setFlowNumber(toString(x.get("流水号")));
deviceData.setPlateNo(toString(x.get("车号")));
deviceData.setWeighType(toString(x.get("过磅类型")));
deviceData.setSendOrganization(toString(x.get("发货单位")));
deviceData.setReceiveOrganization(toString(x.get("收货单位")));
deviceData.setGoods(toString(x.get("货名")));
deviceData.setSpecification(toString(x.get("规格")));
deviceData.setMz(toDouble(x.get("毛重")));
deviceData.setPz(toDouble(x.get("皮重")));
deviceData.setJz(toDouble(x.get("净重")));
deviceData.setKz(toDouble(x.get("扣重")));
deviceData.setSz(toDouble(x.get("实重")));
deviceData.setPrice(toDouble(x.get("单价")));
deviceData.setAmount(toDouble(x.get("金额")));
deviceData.setZfxs(toDouble(x.get("折方系数")));
deviceData.setFl(toDouble(x.get("方量")));
deviceData.setWeightFee(toDouble(x.get("过磅费")));
deviceData.setMzUser(toString(x.get("毛重司磅员")));
deviceData.setPzUser(toString(x.get("皮重司磅员")));
deviceData.setMzbh(toString(x.get("毛重磅号")));
deviceData.setPzbh(toString(x.get("皮重磅号")));
deviceData.setMzTime(toLocalDateTime(x.get("毛重时间")));
deviceData.setPzTime(toLocalDateTime(x.get("皮重时间")));
deviceData.setYcgbTIme(toLocalDateTime(x.get("一次过磅时间")));
deviceData.setEcgbTime(toLocalDateTime(x.get("二次过磅时间")));
deviceData.setUpdateUser(toString(x.get("更新人")));
deviceData.setDataUpdateTime(toLocalDateTime(x.get("更新时间")));
deviceData.setRemark(toString(x.get("备注")));
deviceData.setPrintCount(toInteger(x.get("打印次数")));
deviceData.setUpload(toBoolean(x.get("上传否")));
deviceData.setReserve1(toString(x.get("备用1")));
deviceData.setReserve2(toString(x.get("备用2")));
deviceData.setReserve3(toString(x.get("备用3")));
deviceData.setReserve4(toString(x.get("备用4")));
deviceData.setReserve5(toString(x.get("备用5")));
deviceData.setReserve6(toDouble(x.get("备用6")));
deviceData.setReserve7(toDouble(x.get("备用7")));
deviceData.setReserve8(toDouble(x.get("备用8")));
deviceData.setReserve9(toDouble(x.get("备用9")));
deviceData.setReserve10(toString(x.get("备用10")));
deviceData.setReserve11(toString(x.get("备用11")));
deviceData.setReserve12(toString(x.get("备用12")));
deviceData.setReserve13(toString(x.get("备用13")));
deviceData.setReserve14(toString(x.get("备用14")));
deviceData.setReserve15(toDouble(x.get("备用15")));
deviceData.setReserve16(toDouble(x.get("备用16")));
deviceData.setReserve17(toDouble(x.get("备用17")));
deviceData.setReserve18(toDouble(x.get("备用18")));
deviceData.setClientType(toInteger(x.get("客户类型")));
deviceData.setYcgbWeight(toDouble(x.get("一次过磅重")));
deviceData.setEcgbWeight(toDouble(x.get("二次过磅重")));
deviceData.setB0(toString(x.get("b0")));
deviceData.setAguid(toString(x.get("aguid")));
deviceData.setPlanNumber(toString(x.get("PlanNumber")));
deviceData.setRecordCreateMode(toInteger(x.get("RecordCreateMode")));
deviceData.setRecordFinish(toInteger(x.get("RecordFinish")));
deviceData.setNetPriceSyncTime(toLocalDateTime(x.get("网价同步时间")));
deviceData.setNetPriceModifyUser(toString(x.get("网价修改人")));
deviceData.setCTime(toLocalDateTime(x.get("CTime")));
deviceData.setModifyOnnet(toString(x.get("modify_onnet")));
deviceData.setModifyTime(toLocalDateTime(x.get("modify_time")));
deviceData.setModifyBy(toString(x.get("modify_by")));
deviceData.setAuditFlag(toString(x.get("audit_flag")));
deviceData.setAuditTime(toLocalDateTime(x.get("audit_time")));
deviceData.setAuditBy(toString(x.get("audit_by")));
deviceData.setEUpimg(toString(x.get("e_upimg")));
deviceData.setReserve19(toString(x.get("备用19")));
deviceData.setReserve20(toString(x.get("备用20")));
deviceData.setReserve21(toString(x.get("备用21")));
deviceData.setReserve22(toString(x.get("备用22")));
deviceData.setReserve23(toString(x.get("备用23")));
deviceData.setReserve24(toString(x.get("备用24")));
deviceData.setReserve25(toString(x.get("备用25")));
deviceData.setReserve26(toString(x.get("备用26")));
deviceData.setReserve27(toString(x.get("备用27")));
deviceData.setReserve28(toString(x.get("备用28")));
deviceData.setDriverInfo(toString(x.get("driver_info")));
deviceData.setHqbUpImgG1(toInteger(x.get("HQB_UpImg_G1")));
deviceData.setHqbUpImgG2(toInteger(x.get("HQB_UpImg_G2")));
deviceData.setHqbUpImgG3(toInteger(x.get("HQB_UpImg_G3")));
deviceData.setHqbUpImgG4(toInteger(x.get("HQB_UpImg_G4")));
deviceData.setHqbUpImgT1(toInteger(x.get("HQB_UpImg_T1")));
deviceData.setHqbUpImgT2(toInteger(x.get("HQB_UpImg_T2")));
deviceData.setHqbUpImgT3(toInteger(x.get("HQB_UpImg_T3")));
deviceData.setHqbUpImgT4(toInteger(x.get("HQB_UpImg_T4")));
weightDeviceDataService.save(deviceData);
});
handleWeightInfo((ArrayNode) jsonNode, logEntity, device);
}
case "weight20.weightinvalid" -> {
handleWeightInvalid((ArrayNode) jsonNode, logEntity, device);
}
default -> {
log.warn("unknown message type: {}", rk);
@@ -278,56 +152,416 @@ public class WeightListener {
// log.info("new message from pms: {}", body);
}
private void handleWeightInvalid(
ArrayNode jsonNode, DataCollectorLogEntity logEntity, WeightDeviceEntity device) {
ArrayNode nodes = jsonNode;
var logContent =
StreamSupport.stream(nodes.spliterator(), false)
.map(
x ->
x.get("序号")
+ ":"
+ x.get("流水号").asText()
+ x.get("原流水号").asText()
+ ":"
+ x.get("更新时间").asText())
.toList();
logEntity.setContent(StringUtils.join(logContent, ","));
var flowNumbers =
StreamSupport.stream(nodes.spliterator(), false)
.map(x -> x.get("原流水号").asInt())
.collect(Collectors.toList());
Map<String, WeightDeviceDataEntity> flowNumberMap =
weightDeviceDataService
.findAll(
(Specification<WeightDeviceDataEntity>)
(root, query, criteriaBuilder) ->
criteriaBuilder.and(
criteriaBuilder.equal(
root.get("device").get("id"),
device.getId()),
root.get("flowNumber").in(flowNumbers)))
.stream()
.collect(Collectors.toMap(WeightDeviceDataEntity::getFlowNumber, e -> e));
nodes.forEach(
x -> {
WeightDeviceDataEntity deviceData = new WeightDeviceDataEntity();
var flowNumber = x.get("原流水号").asText();
var seqNumber = x.get("序号").asInt();
log.info(
"invalid data from weight20: {} {} {} {} ",
seqNumber,
flowNumber,
x.get("更新时间").asText(),
device.getId());
if (flowNumberMap.containsKey(flowNumber)) {
log.info(
"invalid data already exists: {} {} {}",
seqNumber,
flowNumber,
device.getId());
deviceData = flowNumberMap.get(flowNumber);
deviceData.setInvalid(true);
} else {
// log.info(x.toPrettyString());
WeightDeviceDataEntity finalDeviceData = deviceData;
Try.run(() -> finalDeviceData.setDevice(device));
Try.run(
() ->
finalDeviceData.setOrganizationId(
device.getOrganizationId()));
Try.run(() -> finalDeviceData.setSequenceNumber(toInteger(x.get("序号"))));
Try.run(() -> finalDeviceData.setFlowNumber(toString(x.get("流水号"))));
Try.run(() -> finalDeviceData.setPlateNo(toString(x.get("车号"))));
Try.run(() -> finalDeviceData.setWeighType(toString(x.get("过磅类型"))));
Try.run(() -> finalDeviceData.setSendOrganization(toString(x.get("发货单位"))));
Try.run(
() ->
finalDeviceData.setReceiveOrganization(
toString(x.get("收货单位"))));
Try.run(() -> finalDeviceData.setGoods(toString(x.get("货名"))));
Try.run(() -> finalDeviceData.setSpecification(toString(x.get("规格"))));
Try.run(() -> finalDeviceData.setMz(toDouble(x.get("毛重"))));
Try.run(() -> finalDeviceData.setPz(toDouble(x.get("皮重"))));
Try.run(() -> finalDeviceData.setJz(toDouble(x.get("净重"))));
Try.run(() -> finalDeviceData.setKz(toDouble(x.get("扣重"))));
Try.run(() -> finalDeviceData.setSz(toDouble(x.get("实重"))));
Try.run(() -> finalDeviceData.setPrice(toDouble(x.get("单价"))));
Try.run(() -> finalDeviceData.setAmount(toDouble(x.get("金额"))));
Try.run(() -> finalDeviceData.setZfxs(toDouble(x.get("折方系数"))));
Try.run(() -> finalDeviceData.setFl(toDouble(x.get("方量"))));
Try.run(() -> finalDeviceData.setWeightFee(toDouble(x.get("过磅费"))));
Try.run(() -> finalDeviceData.setMzUser(toString(x.get("毛重司磅员"))));
Try.run(() -> finalDeviceData.setPzUser(toString(x.get("皮重司磅员"))));
Try.run(() -> finalDeviceData.setMzbh(toString(x.get("毛重磅号"))));
Try.run(() -> finalDeviceData.setPzbh(toString(x.get("皮重磅号"))));
Try.run(() -> finalDeviceData.setMzTime(toLocalDateTime(x.get("毛重时间"))));
Try.run(() -> finalDeviceData.setPzTime(toLocalDateTime(x.get("皮重时间"))));
Try.run(
() ->
finalDeviceData.setYcgbTIme(
toLocalDateTime(x.get("一次过磅时间"))));
Try.run(
() ->
finalDeviceData.setEcgbTime(
toLocalDateTime(x.get("二次过磅时间"))));
Try.run(() -> finalDeviceData.setUpdateUser(toString(x.get("更新人"))));
Try.run(
() ->
finalDeviceData.setDataUpdateTime(
toLocalDateTime(x.get("更新时间"))));
Try.run(() -> finalDeviceData.setRemark(toString(x.get("备注"))));
Try.run(() -> finalDeviceData.setPrintCount(toInteger(x.get("打印次数"))));
Try.run(() -> finalDeviceData.setUpload(toBoolean(x.get("上传否"))));
Try.run(() -> finalDeviceData.setReserve1(toString(x.get("备用1"))));
Try.run(() -> finalDeviceData.setReserve2(toString(x.get("备用2"))));
Try.run(() -> finalDeviceData.setReserve3(toString(x.get("备用3"))));
Try.run(() -> finalDeviceData.setReserve4(toString(x.get("备用4"))));
Try.run(() -> finalDeviceData.setReserve5(toString(x.get("备用5"))));
Try.run(() -> finalDeviceData.setReserve6(toDouble(x.get("备用6"))));
Try.run(() -> finalDeviceData.setReserve7(toDouble(x.get("备用7"))));
Try.run(() -> finalDeviceData.setReserve8(toDouble(x.get("备用8"))));
Try.run(() -> finalDeviceData.setReserve9(toDouble(x.get("备用9"))));
Try.run(() -> finalDeviceData.setReserve10(toString(x.get("备用10"))));
Try.run(() -> finalDeviceData.setReserve11(toString(x.get("备用11"))));
Try.run(() -> finalDeviceData.setReserve12(toString(x.get("备用12"))));
Try.run(() -> finalDeviceData.setReserve13(toString(x.get("备用13"))));
Try.run(() -> finalDeviceData.setReserve14(toString(x.get("备用14"))));
Try.run(() -> finalDeviceData.setReserve15(toDouble(x.get("备用15"))));
Try.run(() -> finalDeviceData.setReserve16(toDouble(x.get("备用16"))));
Try.run(() -> finalDeviceData.setReserve17(toDouble(x.get("备用17"))));
Try.run(() -> finalDeviceData.setReserve18(toDouble(x.get("备用18"))));
Try.run(() -> finalDeviceData.setClientType(toInteger(x.get("客户类型"))));
Try.run(() -> finalDeviceData.setYcgbWeight(toDouble(x.get("一次过磅重"))));
Try.run(() -> finalDeviceData.setEcgbWeight(toDouble(x.get("二次过磅重"))));
Try.run(() -> finalDeviceData.setB0(toString(x.get("b0"))));
Try.run(() -> finalDeviceData.setAguid(toString(x.get("aguid"))));
Try.run(() -> finalDeviceData.setPlanNumber(toString(x.get("PlanNumber"))));
Try.run(
() ->
finalDeviceData.setRecordCreateMode(
toInteger(x.get("RecordCreateMode"))));
Try.run(
() ->
finalDeviceData.setRecordFinish(
toInteger(x.get("RecordFinish"))));
Try.run(
() ->
finalDeviceData.setNetPriceSyncTime(
toLocalDateTime(x.get("网价同步时间"))));
Try.run(
() ->
finalDeviceData.setNetPriceModifyUser(
toString(x.get("网价修改人"))));
Try.run(() -> finalDeviceData.setCTime(toLocalDateTime(x.get("CTime"))));
Try.run(
() ->
finalDeviceData.setModifyOnnet(
toString(x.get("modify_onnet"))));
Try.run(
() ->
finalDeviceData.setModifyTime(
toLocalDateTime(x.get("modify_time"))));
Try.run(() -> finalDeviceData.setModifyBy(toString(x.get("modify_by"))));
Try.run(() -> finalDeviceData.setAuditFlag(toString(x.get("audit_flag"))));
Try.run(
() ->
finalDeviceData.setAuditTime(
toLocalDateTime(x.get("audit_time"))));
Try.run(() -> finalDeviceData.setAuditBy(toString(x.get("audit_by"))));
Try.run(() -> finalDeviceData.setEUpimg(toString(x.get("e_upimg"))));
Try.run(() -> finalDeviceData.setReserve19(toString(x.get("备用19"))));
Try.run(() -> finalDeviceData.setReserve20(toString(x.get("备用20"))));
Try.run(() -> finalDeviceData.setReserve21(toString(x.get("备用21"))));
Try.run(() -> finalDeviceData.setReserve22(toString(x.get("备用22"))));
Try.run(() -> finalDeviceData.setReserve23(toString(x.get("备用23"))));
Try.run(() -> finalDeviceData.setReserve24(toString(x.get("备用24"))));
Try.run(() -> finalDeviceData.setReserve25(toString(x.get("备用25"))));
Try.run(() -> finalDeviceData.setReserve26(toString(x.get("备用26"))));
Try.run(() -> finalDeviceData.setReserve27(toString(x.get("备用27"))));
Try.run(() -> finalDeviceData.setReserve28(toString(x.get("备用28"))));
Try.run(
() ->
finalDeviceData.setDriverInfo(
toString(x.get("driver_info"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgG1(
toInteger(x.get("HQB_UpImg_G1"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgG2(
toInteger(x.get("HQB_UpImg_G2"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgG3(
toInteger(x.get("HQB_UpImg_G3"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgG4(
toInteger(x.get("HQB_UpImg_G4"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgT1(
toInteger(x.get("HQB_UpImg_T1"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgT2(
toInteger(x.get("HQB_UpImg_T2"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgT3(
toInteger(x.get("HQB_UpImg_T3"))));
Try.run(
() ->
finalDeviceData.setHqbUpImgT4(
toInteger(x.get("HQB_UpImg_T4"))));
finalDeviceData.setInvalid(true);
}
weightDeviceDataService.save(deviceData);
});
}
private void handleWeightInfo(
ArrayNode jsonNode, DataCollectorLogEntity logEntity, WeightDeviceEntity device) {
ArrayNode nodes = jsonNode;
var flowNumbers =
StreamSupport.stream(nodes.spliterator(), false)
.map(
x ->
x.get("序号")
+ ":"
+ x.get("流水号").asText()
+ ":"
+ x.get("更新时间").asText())
.toList();
logEntity.setContent(StringUtils.join(flowNumbers, ","));
var seqNumbers =
StreamSupport.stream(nodes.spliterator(), false)
.map(x -> x.get("序号").asInt())
.collect(Collectors.toList());
Map<Integer, WeightDeviceDataEntity> seqNumberMap =
weightDeviceDataService
.findAll(
(Specification<WeightDeviceDataEntity>)
(root, query, criteriaBuilder) ->
criteriaBuilder.and(
criteriaBuilder.equal(
root.get("device").get("id"),
device.getId()),
root.get("sequenceNumber").in(seqNumbers)))
.stream()
.collect(
Collectors.toMap(
WeightDeviceDataEntity::getSequenceNumber, e -> e));
nodes.forEach(
x -> {
WeightDeviceDataEntity deviceData = new WeightDeviceDataEntity();
var flowNumber = x.get("流水号").asText();
var seqNumber = x.get("序号").asInt();
log.info(
"data from weight20: {} {} {} {} ",
seqNumber,
flowNumber,
x.get("更新时间").asText(),
device.getId());
if (seqNumberMap.containsKey(seqNumber)) {
log.info(
"data already exists: {} {} {}",
seqNumber,
flowNumber,
device.getId());
deviceData = seqNumberMap.get(seqNumber);
}
// log.info(x.toPrettyString());
deviceData.setDevice(device);
deviceData.setOrganizationId(device.getOrganizationId());
deviceData.setSequenceNumber(toInteger(x.get("序号")));
deviceData.setFlowNumber(toString(x.get("流水号")));
deviceData.setPlateNo(toString(x.get("车号")));
deviceData.setWeighType(toString(x.get("过磅类型")));
deviceData.setSendOrganization(toString(x.get("发货单位")));
deviceData.setReceiveOrganization(toString(x.get("收货单位")));
deviceData.setGoods(toString(x.get("货名")));
deviceData.setSpecification(toString(x.get("规格")));
deviceData.setMz(toDouble(x.get("毛重")));
deviceData.setPz(toDouble(x.get("皮重")));
deviceData.setJz(toDouble(x.get("净重")));
deviceData.setKz(toDouble(x.get("扣重")));
deviceData.setSz(toDouble(x.get("实重")));
deviceData.setPrice(toDouble(x.get("单价")));
deviceData.setAmount(toDouble(x.get("金额")));
deviceData.setZfxs(toDouble(x.get("折方系数")));
deviceData.setFl(toDouble(x.get("方量")));
deviceData.setWeightFee(toDouble(x.get("过磅费")));
deviceData.setMzUser(toString(x.get("毛重司磅员")));
deviceData.setPzUser(toString(x.get("皮重司磅员")));
deviceData.setMzbh(toString(x.get("毛重磅号")));
deviceData.setPzbh(toString(x.get("皮重磅号")));
deviceData.setMzTime(toLocalDateTime(x.get("毛重时间")));
deviceData.setPzTime(toLocalDateTime(x.get("皮重时间")));
deviceData.setYcgbTIme(toLocalDateTime(x.get("一次过磅时间")));
deviceData.setEcgbTime(toLocalDateTime(x.get("二次过磅时间")));
deviceData.setUpdateUser(toString(x.get("更新人")));
deviceData.setDataUpdateTime(toLocalDateTime(x.get("更新时间")));
deviceData.setRemark(toString(x.get("备注")));
deviceData.setPrintCount(toInteger(x.get("打印次数")));
deviceData.setUpload(toBoolean(x.get("上传否")));
deviceData.setReserve1(toString(x.get("备用1")));
deviceData.setReserve2(toString(x.get("备用2")));
deviceData.setReserve3(toString(x.get("备用3")));
deviceData.setReserve4(toString(x.get("备用4")));
deviceData.setReserve5(toString(x.get("备用5")));
deviceData.setReserve6(toDouble(x.get("备用6")));
deviceData.setReserve7(toDouble(x.get("备用7")));
deviceData.setReserve8(toDouble(x.get("备用8")));
deviceData.setReserve9(toDouble(x.get("备用9")));
deviceData.setReserve10(toString(x.get("备用10")));
deviceData.setReserve11(toString(x.get("备用11")));
deviceData.setReserve12(toString(x.get("备用12")));
deviceData.setReserve13(toString(x.get("备用13")));
deviceData.setReserve14(toString(x.get("备用14")));
deviceData.setReserve15(toDouble(x.get("备用15")));
deviceData.setReserve16(toDouble(x.get("备用16")));
deviceData.setReserve17(toDouble(x.get("备用17")));
deviceData.setReserve18(toDouble(x.get("备用18")));
deviceData.setClientType(toInteger(x.get("客户类型")));
deviceData.setYcgbWeight(toDouble(x.get("一次过磅重")));
deviceData.setEcgbWeight(toDouble(x.get("二次过磅重")));
deviceData.setB0(toString(x.get("b0")));
deviceData.setAguid(toString(x.get("aguid")));
deviceData.setPlanNumber(toString(x.get("PlanNumber")));
deviceData.setRecordCreateMode(toInteger(x.get("RecordCreateMode")));
deviceData.setRecordFinish(toInteger(x.get("RecordFinish")));
deviceData.setNetPriceSyncTime(toLocalDateTime(x.get("网价同步时间")));
deviceData.setNetPriceModifyUser(toString(x.get("网价修改人")));
deviceData.setCTime(toLocalDateTime(x.get("CTime")));
deviceData.setModifyOnnet(toString(x.get("modify_onnet")));
deviceData.setModifyTime(toLocalDateTime(x.get("modify_time")));
deviceData.setModifyBy(toString(x.get("modify_by")));
deviceData.setAuditFlag(toString(x.get("audit_flag")));
deviceData.setAuditTime(toLocalDateTime(x.get("audit_time")));
deviceData.setAuditBy(toString(x.get("audit_by")));
deviceData.setEUpimg(toString(x.get("e_upimg")));
deviceData.setReserve19(toString(x.get("备用19")));
deviceData.setReserve20(toString(x.get("备用20")));
deviceData.setReserve21(toString(x.get("备用21")));
deviceData.setReserve22(toString(x.get("备用22")));
deviceData.setReserve23(toString(x.get("备用23")));
deviceData.setReserve24(toString(x.get("备用24")));
deviceData.setReserve25(toString(x.get("备用25")));
deviceData.setReserve26(toString(x.get("备用26")));
deviceData.setReserve27(toString(x.get("备用27")));
deviceData.setReserve28(toString(x.get("备用28")));
deviceData.setDriverInfo(toString(x.get("driver_info")));
deviceData.setHqbUpImgG1(toInteger(x.get("HQB_UpImg_G1")));
deviceData.setHqbUpImgG2(toInteger(x.get("HQB_UpImg_G2")));
deviceData.setHqbUpImgG3(toInteger(x.get("HQB_UpImg_G3")));
deviceData.setHqbUpImgG4(toInteger(x.get("HQB_UpImg_G4")));
deviceData.setHqbUpImgT1(toInteger(x.get("HQB_UpImg_T1")));
deviceData.setHqbUpImgT2(toInteger(x.get("HQB_UpImg_T2")));
deviceData.setHqbUpImgT3(toInteger(x.get("HQB_UpImg_T3")));
deviceData.setHqbUpImgT4(toInteger(x.get("HQB_UpImg_T4")));
weightDeviceDataService.save(deviceData);
});
}
private Integer toBoolean(JsonNode node) {
if (node== null || node.isNull()){
if (node == null || node.isNull()) {
return null;
}
if (node.isIntegralNumber()){
if (node.isIntegralNumber()) {
return node.asInt();
}
if (node.isBoolean()){
if (node.isBoolean()) {
return node.asBoolean() ? 1 : 0;
}
return Integer.parseInt(node.asText());
}
private String toString(JsonNode node) {
if (node== null || node.isNull()){
if (node == null || node.isNull()) {
return null;
}
return node.asText();
}
private Integer toInteger(JsonNode node) {
if (node== null || node.isNull()){
if (node == null || node.isNull()) {
return null;
}
if (node.isFloatingPointNumber()){
if (node.isFloatingPointNumber()) {
return node.asInt();
}
if (node.isIntegralNumber()){
if (node.isIntegralNumber()) {
return node.asInt();
}
String text = node.asText();
if (StringUtils.isBlank(text)){
if (StringUtils.isBlank(text)) {
return null;
}
@@ -336,42 +570,36 @@ public class WeightListener {
private Double toDouble(JsonNode node) {
if (node== null || node.isNull()){
if (node == null || node.isNull()) {
return null;
}
if (node.isFloatingPointNumber()){
if (node.isFloatingPointNumber()) {
return node.asDouble();
}
if (node.isIntegralNumber()){
if (node.isIntegralNumber()) {
return node.asDouble();
}
String text = node.asText();
if (StringUtils.isBlank(text)){
if (StringUtils.isBlank(text)) {
return null;
}
return Double.parseDouble(text);
}
private LocalDateTime toLocalDateTime(JsonNode node) {
if (node== null || node.isNull()){
if (node == null || node.isNull()) {
return null;
}
String text = node.asText();
if (StringUtils.isBlank(text)){
if (StringUtils.isBlank(text)) {
return null;
}