From efec12bd4827ddefd9b19ccc0eee3ca1c62908f3 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期五, 12 一月 2024 19:09:01 +0800 Subject: [PATCH] 添加手动推送粮情接口,以便第三方接口调用 --- src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java | 219 ++++++++++++++++++++++++++---------------------------- 1 files changed, 105 insertions(+), 114 deletions(-) diff --git a/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java b/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java index 2b1a156..b2bbc4b 100644 --- a/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java +++ b/src/main/java/com/fzzy/gateway/hx2023/service/ScGatewayTestServiceImpl.java @@ -31,6 +31,9 @@ @Resource private Fzzy40CommonService fzzy40CommonService; + @Resource + private DeviceReportServiceImpl deviceReportService; + @Override public String getProtocol() { return PushProtocol.GATEWAY_SC_2023.getCode(); @@ -66,133 +69,121 @@ if (StringUtils.isEmpty(depotIdSys)) { log.error("--------璁惧--{}-鏈厤缃郴缁熺浉鍏充粨搴撶紪鐮侊紝鏃犳硶鎵ц褰撳墠鎿嶄綔", device.getDeviceName()); - return new BaseResp(BaseResp.CODE_50, "鏈厤缃郴缁熺浉鍏充粨搴撶紪鐮侊紝鏃犳硶鎵ц褰撳墠鎿嶄綔"); + return new BaseResp(BaseResp.CODE_500, "鏈厤缃郴缁熺浉鍏充粨搴撶紪鐮侊紝鏃犳硶鎵ц褰撳墠鎿嶄綔"); } List<Fz40Grain> listGrain = fzzy40CommonService.listGrain(depotIdSys, start, end); if (null == listGrain || listGrain.isEmpty()) { log.error("---------璁惧-{}-绯荤粺浠撳簱缂栫爜-{}-鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁", device.getDeviceName(), device.getDepotIdSys()); - return new BaseResp(BaseResp.CODE_50, "鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁"); + return new BaseResp(BaseResp.CODE_500, "鏈悓姝ュ埌绮儏淇℃伅锛岃纭褰撳墠鏉′欢涓嬫槸鍚︽湁鏁版嵁"); } //鑾峰彇绗竴鏉℃暟鎹墽琛屾帹閫� Fz40Grain lastData = listGrain.get(0); - KafaGrainData pushData = this.lastData2PushData(lastData, device); - return new BaseResp(JSONObject.toJSONString(pushData)); + return deviceReportService.grainData2GatewayApiInfo(lastData,device); } - /** - * 灏嗙伯鎯呮暟鎹浆鎹负鎺ㄩ�侀渶瑕佺殑鏁版嵁鏍煎紡 - * - * @param grainData - * @return - */ - private KafaGrainData lastData2PushData(Fz40Grain grainData, GatewayDevice device) { - KafaGrainData result = new KafaGrainData(); +// /** +// * 灏嗙伯鎯呮暟鎹浆鎹负鎺ㄩ�侀渶瑕佺殑鏁版嵁鏍煎紡 +// * +// * @param grainData +// * @return +// */ +// private KafaGrainData lastData2PushData(Fz40Grain grainData, GatewayDevice device) { +// KafaGrainData result = new KafaGrainData(); +// +// result.setMessageId(ScConstant.getMessageId()); +// result.setMessgeId(result.getMessageId()); +// result.setDeviceID(device.getDeviceId()); +// result.setAvgTemperature(grainData.getTempAve() + ""); +// result.setMinTemperature(grainData.getTempMin() + ""); +// result.setMaxTemperature(grainData.getTempMax() + ""); +// result.setCollectTime(DateFormatUtils.format(grainData.getReceiveDate(), "yyyy-MM-dd HH:mm:ss")); +// +// //灞�-琛�-鍒� +// String[] attrCable = grainData.getCable().split("-"); +// if (StringUtils.isNotEmpty(grainData.getCableCir())) { +// return lastData2PushData2(grainData, device); +// } +// +// //灞傝鍒� +// int cableZ = Integer.valueOf(attrCable[0]); +// int cableY = Integer.valueOf(attrCable[1]); +// int cableX = Integer.valueOf(attrCable[2]); +// +// //娓╁害闆嗗悎 +// String[] attr = grainData.getPoints().split(","); +// +// //鏍瑰彿 +// int cableNum = 1, position = 0; +// String curTemp; +// List<KafkaGrainDataDetail1> temperature = new ArrayList<>(); +// +// int x = 0, y = 0, z = 0; +// for (int i = 0; i < attr.length; i++) { +// position = i; +// z = i % cableZ + 1; +// x = i / (cableZ * cableY); +// y = x * (cableZ * cableY); +// y = (i - y) / cableZ; +// // 鍊掕浆X杞� +// x = cableX - 1 - x; +// //鏍瑰彿 +// cableNum = (i / cableZ) + 1; +// curTemp = attr[i]; +// +// +// //濡傛灉鏄紓甯稿��,鎵ц璋冩暣鏁版嵁 TODO +// if (Double.valueOf(curTemp) < -99.9) { +// +// curTemp = grainData.getTempAve() + ""; +// +// } else { +// //鍒ゆ柇鏈�澶� +// if (curTemp.equals(result.getMaxTemperature())) { +// result.setMaxX(x + ""); +// result.setMaxY(y + ""); +// result.setMaxZ(position + ""); +// } +// //鍒ゆ柇鏈�灏� +// if (curTemp.equals(result.getMinTemperature())) { +// result.setMinX(x + ""); +// result.setMinY(y + ""); +// result.setMinZ(position + ""); +// } +// } +// +// temperature.add(new KafkaGrainDataDetail1(cableNum + "", z + "", curTemp, position + "", x + "", y + "")); +// } +// +// //绮俯淇℃伅 +// JSONObject trhInfo = new JSONObject(); +// // TRHInfo trhInfo = new TRHInfo(); +// trhInfo.put("temperature", temperature); +// +// +// //浠撴俯搴︿俊鎭� +// KafkaGrainTH grainTH = new KafkaGrainTH(); +// grainTH.setHumidity(grainData.getHumidityIn() + ""); +// grainTH.setTemperature(grainData.getTempIn() + ""); +// grainTH.setAirHumidity(grainData.getHumidityOut() + ""); +// grainTH.setAirTemperature(grainData.getTempOut() + ""); +// +// List<KafkaGrainTH> temperatureAndhumidity = new ArrayList<>(); +// temperatureAndhumidity.add(grainTH); +// +// trhInfo.put("temperatureAndhumidity", temperatureAndhumidity); +// //trhInfo.put("temperatureAndhumidity",grainTH); +// +// JSONObject params = new JSONObject(); +// params.put("TRHInfo", trhInfo); +// +// result.setParams(params); +// +// return result; +// } - result.setMessageId(ScConstant.getMessageId()); - result.setMessgeId(result.getMessageId()); - result.setDeviceID(device.getDeviceId()); - result.setAvgTemperature(grainData.getTempAve() + ""); - result.setMinTemperature(grainData.getTempMin() + ""); - result.setMaxTemperature(grainData.getTempMax() + ""); - result.setCollectTime(DateFormatUtils.format(grainData.getReceiveDate(), "yyyy-MM-dd HH:mm:ss")); - - //灞�-琛�-鍒� - String[] attrCable = grainData.getCable().split("-"); - if (StringUtils.isNotEmpty(grainData.getCableCir())) { - return lastData2PushData2(grainData, device); - } - - //灞傝鍒� - int cableZ = Integer.valueOf(attrCable[0]); - int cableY = Integer.valueOf(attrCable[1]); - int cableX = Integer.valueOf(attrCable[2]); - - //娓╁害闆嗗悎 - String[] attr = grainData.getPoints().split(","); - - //鏍瑰彿 - int cableNum = 1, position = 0; - String curTemp; - List<KafkaGrainDataDetail1> temperature = new ArrayList<>(); - - int x = 0, y = 0, z = 0; - for (int i = 0; i < attr.length; i++) { - position = i; - z = i % cableZ + 1; - x = i / (cableZ * cableY); - y = x * (cableZ * cableY); - y = (i - y) / cableZ; - // 鍊掕浆X杞� - x = cableX - 1 - x; - //鏍瑰彿 - cableNum = (i / cableZ) + 1; - curTemp = attr[i]; - - - //濡傛灉鏄紓甯稿��,鎵ц璋冩暣鏁版嵁 TODO - if (Double.valueOf(curTemp) < -99.9) { - - curTemp = grainData.getTempAve() + ""; - - } else { - //鍒ゆ柇鏈�澶� - if (curTemp.equals(result.getMaxTemperature())) { - result.setMaxX(x + ""); - result.setMaxY(y + ""); - result.setMaxZ(position + ""); - } - //鍒ゆ柇鏈�灏� - if (curTemp.equals(result.getMinTemperature())) { - result.setMinX(x + ""); - result.setMinY(y + ""); - result.setMinZ(position + ""); - } - } - - temperature.add(new KafkaGrainDataDetail1(cableNum + "", z + "", curTemp, position + "", x + "", y + "")); - } - - //绮俯淇℃伅 - JSONObject trhInfo = new JSONObject(); - // TRHInfo trhInfo = new TRHInfo(); - trhInfo.put("temperature", temperature); - - - //浠撴俯搴︿俊鎭� - KafkaGrainTH grainTH = new KafkaGrainTH(); - grainTH.setHumidity(grainData.getHumidityIn() + ""); - grainTH.setTemperature(grainData.getTempIn() + ""); - grainTH.setAirHumidity(grainData.getHumidityOut() + ""); - grainTH.setAirTemperature(grainData.getTempOut() + ""); - - List<KafkaGrainTH> temperatureAndhumidity = new ArrayList<>(); - temperatureAndhumidity.add(grainTH); - - trhInfo.put("temperatureAndhumidity", temperatureAndhumidity); - //trhInfo.put("temperatureAndhumidity",grainTH); - - JSONObject params = new JSONObject(); - params.put("TRHInfo", trhInfo); - - result.setParams(params); - - return result; - } - - /** - * 閽堝绛掍粨 TODO ----- - * - * @param lastData - * @param device - * @return - */ - private KafaGrainData lastData2PushData2(Fz40Grain lastData, GatewayDevice device) { - - return null; - } @Override -- Gitblit v1.9.3