From 0f10999d2df596e0447453d0685e1d4bd648c5c9 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期日, 08 十月 2023 09:19:10 +0800
Subject: [PATCH] uat配置时启动抓拍服务
---
igds-protocol-beibo/src/main/java/com/ld/igds/protocol/beibo/grainv1/analysis/AnalysisService.java | 207 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 158 insertions(+), 49 deletions(-)
diff --git a/igds-protocol-beibo/src/main/java/com/ld/igds/protocol/beibo/grainv1/analysis/AnalysisService.java b/igds-protocol-beibo/src/main/java/com/ld/igds/protocol/beibo/grainv1/analysis/AnalysisService.java
index 5a789b8..a516d11 100644
--- a/igds-protocol-beibo/src/main/java/com/ld/igds/protocol/beibo/grainv1/analysis/AnalysisService.java
+++ b/igds-protocol-beibo/src/main/java/com/ld/igds/protocol/beibo/grainv1/analysis/AnalysisService.java
@@ -65,11 +65,6 @@
public static double MAX_TEMP = -50.0;
public static double MIN_TEMP = 50.0;
- public static void main(String[] args) {
- String str = "00000000FFEB90FEAA41E821EC21EA21EC21ED21EC21E921E221E921E921E921EC21E921ED21F021E521E521E221E421E321E321E121DE21D721E021DD21DC21DF21FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF";
- System.out.println(str.substring(9 * 2, 10 * 2));
- }
-
/**
* 00000000FFEB90FEAA41E821EC21EA21EC21ED21EC21E921E221E921E921E921EC21E921ED21F021E521E521E221E421E321E321E121DE21D721E021DD21DC21DF21FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
*
@@ -241,6 +236,10 @@
sumNum += Integer.valueOf(cableRuleAtt[i]);
}
+ if(cableZ < ser.getCableZ()){
+ cableZ = ser.getCableZ();
+ }
+
// 鏍规嵁灞傝鍒楄幏鍙栨寚瀹氶暱搴�
int start = 4 * (depotConf.getCableStart() - ser.getCableStart()) * cableZ;
int len = 4 * cableZ * sumNum;
@@ -252,10 +251,6 @@
List<Double> temps = new ArrayList<>();
double tempValue;
String temp;
- int curLay = 1;//鎵�鍦ㄥ眰浠�1寮�濮�
- int curRoot = 1;//鎵�鍦ㄦ牴
- int curCir = 1;//鎵�鍦ㄥ湀
- int cirLay = 1;//褰撳墠鍦堢殑灞�
int symbol = 0; //绗﹀彿浣�
for (int i = 0; i < strPoints.length() / 4; i++) {
temp = strPoints.substring(i * 4, i * 4 + 4);
@@ -289,38 +284,7 @@
if (tempValue >= FAULT_CHECK_TAG) {
tempValue = Constant.FAULT_TEMP;
}
-
- // 澶囩敤鍊�
- if (tempValue == ERROR_CHECK_TAG) {
- tempValue = Constant.ERROR_TEMP;
-
-
- //楠岃瘉鏄笉鏄敟褰粨琛ュ伩鍊�
- curLay = (i % layMax) + 1;
- curRoot = (i / layMax) + 1;
- curCir = getCurCir(curRoot, cableRuleAtt);
-
- cirLay = Integer.valueOf(cableCirAtt[curCir - 1]);
-
- //姣斿閰嶇疆浜�5灞備絾鏄綋鍓嶆槸6灞傦紝璇存槑褰撳墠鐐逛负琛ュ伩鐐�
- if (curLay > cirLay) {
- tempValue = Constant.ADD_TEMP;
-
- //鍒ゆ柇鏄笉鏄笂閿ュ舰锛屽皢琛ョ偣杞Щ鍒颁笂鏂�
- if (Constant.CABLE_CONE_1.equals(depotConf.getCableCone())) {
- int index = i - curLay - 1;
- temps.add(index, tempValue);
- } else {
- temps.add(tempValue);
- }
-
- } else {
- temps.add(tempValue);
- }
-
- } else {
- temps.add(tempValue);
- }
+ temps.add(tempValue);
}
log.debug("-------CheckGrainRequest--={}", exeRequest.toString());
@@ -460,8 +424,38 @@
grain.setCompanyId(depotConf.getCompanyId());
grain.setCable(depotConf.getCableRule());
grain.setBatchId(msg.getBatchId());
- grain.setTempIn(Constant.ERROR_TEMP);
- grain.setHumidityIn(Constant.ERROR_TEMP);
+
+ int humidity = -100;
+ int tem = -100;
+ String substring = "";
+
+ //瑙f瀽澶栨箍澶栨俯
+ String thStr = msg.getThStr().substring(6, 12);
+ humidity = BytesUtil.hexToInt(thStr.substring(0, 2));
+ grain.setHumidityOut(humidity * 1.0);
+ substring = thStr.substring(2);
+ tem = BytesUtil.hexToInt(substring);
+ grain.setTempOut(tem * 1.0);
+ if(substring.startsWith("1")){
+ grain.setTempOut(tem * -1.0);
+ }
+
+ //瑙f瀽浠撳唴娓╀粨鍐呮箍
+ int thConf = Integer.valueOf(depotConf.getThConf());
+ int start = 0, end = 6;
+ if(thConf > 1){
+ start += 6*thConf; //12-18
+ end += start;
+ }
+ thStr = msg.getThStr().substring(start, end);
+ humidity = BytesUtil.hexToInt(thStr.substring(0, 2));
+ grain.setHumidityIn(humidity * 1.0);
+ substring = thStr.substring(2);
+ tem = BytesUtil.hexToInt(substring);
+ grain.setTempIn(tem * 1.0);
+ if(substring.startsWith("1")){
+ grain.setTempIn(tem * -1.0);
+ }
grain.setReceiveDate(new Date());
grain.setRemark("绮俯姝e父");
@@ -542,8 +536,38 @@
grain.setCable(depotConf.getCableRule());
grain.setCableCir(depotConf.getCableCir());
grain.setBatchId(msg.getBatchId());
- grain.setTempIn(Constant.ERROR_TEMP);
- grain.setHumidityIn(Constant.ERROR_TEMP);
+
+ int humidity = -100;
+ int tem = -100;
+ String substring = "";
+
+ //瑙f瀽澶栨箍澶栨俯
+ String thStr = msg.getThStr().substring(6, 12);
+ humidity = BytesUtil.hexToInt(thStr.substring(0, 2));
+ grain.setHumidityOut(humidity * 1.0);
+ substring = thStr.substring(2);
+ tem = BytesUtil.hexToInt(substring);
+ grain.setTempOut(tem * 1.0);
+ if(substring.startsWith("1")){
+ grain.setTempOut(tem * -1.0);
+ }
+
+ //瑙f瀽浠撳唴娓╀粨鍐呮箍
+ int thConf = Integer.valueOf(depotConf.getThConf());
+ int start = 0, end = 6;
+ if(thConf > 1){
+ start += 6*thConf; //12-18
+ end += start;
+ }
+ thStr = msg.getThStr().substring(start, end);
+ humidity = BytesUtil.hexToInt(thStr.substring(0, 2));
+ grain.setHumidityIn(humidity * 1.0);
+ substring = thStr.substring(2);
+ tem = BytesUtil.hexToInt(substring);
+ grain.setTempIn(tem * 1.0);
+ if(substring.startsWith("1")){
+ grain.setTempIn(tem * -1.0);
+ }
grain.setReceiveDate(new Date());
grain.setRemark("绮俯姝e父");
@@ -591,6 +615,17 @@
grain.setTempMax(max);
grain.setTempMin(min);
grain.setPoints(StringUtils.join(temps, ","));
+ //鍒ゆ柇鏄惁鏄敟褰粨锛屾槸鐨勮瘽杩涜閿ュ舰浠撹ˉ鐐�
+ if(StringUtils.isNotEmpty(depotConf.getCableCone())){
+ //涓婇敟褰㈣ˉ鐐�
+ if(Constant.CABLE_CONE_1.equals(depotConf.getCableCone())){
+ grain.setPoints(upConePoints(depotConf, grain.getPoints()));
+ }
+ //涓嬮敟褰㈣ˉ鐐�
+ if(Constant.CABLE_CONE_2.equals(depotConf.getCableCone())){
+ grain.setPoints(downConePoints(depotConf, grain.getPoints()));
+ }
+ }
String depotIds = exeRequest.getDepotIds();
boolean notifyWeb = true;
@@ -682,11 +717,85 @@
return temps;
}
- private String buildCurKey(ReMessage msg, int curPacket) {
- return msg.getSerId() + "_" + curPacket;
+ /**
+ * 涓婇敟褰㈣ˉ鐐�(鐐逛綅浣嶇疆姝g‘锛岄渶瑕佽ˉ鐐逛负-102)
+ *
+ * @param depotConf
+ * @param points
+ * @return
+ */
+ private String upConePoints(DepotConf depotConf, String points){
+ String[] cableRuleAtt = depotConf.getCableRule().split("-");
+ String[] cableCirAtt = depotConf.getCableCir().split("-");
+ //鑾峰彇鏈�澶х殑灞傞厤缃�
+ int layMax = Integer.valueOf(cableCirAtt[0]);
+ for (int i = 0; i < cableCirAtt.length; i++) {
+ if (Integer.valueOf(cableCirAtt[i]) >= layMax) {
+ layMax = Integer.valueOf(cableCirAtt[i]);
+ }
+ }
+ //鎵�鍦ㄥ眰浠�1寮�濮�
+ int curLay = 1;
+ //鎵�鍦ㄦ牴
+ int curRoot = 1;
+ //鎵�鍦ㄥ湀
+ int curCir = 1;
+ //褰撳墠鍦堢殑灞�
+ int cirLay = 1;
+ String[] array = points.split(",");
+
+ for (int i = 0; i < array.length; i++) {
+ curLay = (i % layMax) + 1;
+ curRoot = (i / layMax) + 1;
+ curCir = getCurCir(curRoot, cableRuleAtt);
+ cirLay = Integer.valueOf(cableCirAtt[curCir - 1]);
+
+ //姣斿閰嶇疆浜�5灞備絾鏄綋鍓嶆槸6灞傦紝璇存槑褰撳墠鐐逛负琛ュ伩鐐�
+ if (curLay <= (layMax - cirLay)) {
+ array[i] = String.valueOf(Constant.ADD_TEMP);
+ }
+ }
+ return StringUtils.join(array, ",");
}
- private String buildContextKey(String companyId, String serId) {
- return companyId + "_" + serId;
+ /**
+ * 涓嬮敟褰㈣ˉ鐐�(鐐逛綅浣嶇疆姝g‘锛岄渶瑕佽ˉ鐐逛负-102)
+ *
+ * @param depotConf
+ * @param points
+ * @return
+ */
+ private String downConePoints(DepotConf depotConf, String points){
+ String[] cableRuleAtt = depotConf.getCableRule().split("-");
+ String[] cableCirAtt = depotConf.getCableCir().split("-");
+ //鑾峰彇鏈�澶х殑灞傞厤缃�
+ int layMax = Integer.valueOf(cableCirAtt[0]);
+ for (int i = 0; i < cableCirAtt.length; i++) {
+ if (Integer.valueOf(cableCirAtt[i]) >= layMax) {
+ layMax = Integer.valueOf(cableCirAtt[i]);
+ }
+ }
+ //鎵�鍦ㄥ眰浠�1寮�濮�
+ int curLay = 1;
+ //鎵�鍦ㄦ牴
+ int curRoot = 1;
+ //鎵�鍦ㄥ湀
+ int curCir = 1;
+ //褰撳墠鍦堢殑灞�
+ int cirLay = 1;
+ String[] array = points.split(",");
+
+ for (int i = 0; i < array.length; i++) {
+ curLay = (i % layMax) + 1;
+ curRoot = (i / layMax) + 1;
+ curCir = getCurCir(curRoot, cableRuleAtt);
+ cirLay = Integer.valueOf(cableCirAtt[curCir - 1]);
+
+ //姣斿閰嶇疆浜�5灞備絾鏄綋鍓嶆槸6灞傦紝璇存槑褰撳墠鐐逛负琛ュ伩鐐�
+ if (curLay > cirLay) {
+ array[i] = String.valueOf(Constant.ADD_TEMP);
+ }
+ }
+ return StringUtils.join(array, ",");
}
}
--
Gitblit v1.9.3