From 7f441b2a762da32afe182a959077c56831af0acc Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Wed, 1 May 2024 20:41:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E7=A3=85=E6=88=BF=E4=BD=9C?= =?UTF-8?q?=E5=BA=9F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/WeightListener.java | 546 +++++++++++++----- 1 file changed, 387 insertions(+), 159 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java b/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java index dbc9e6a0..c2589a66 100644 --- a/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java +++ b/src/main/java/cn/lihongjie/coal/dataCollector/listener/WeightListener.java @@ -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 seqNumberMap = - weightDeviceDataService - .findAll( - (Specification) - (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 flowNumberMap = + weightDeviceDataService + .findAll( + (Specification) + (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 seqNumberMap = + weightDeviceDataService + .findAll( + (Specification) + (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; }