hfy 1 ヶ月 前
親
コミット
ebd431bae8

+ 14 - 13
src/main/java/com/jeesite/modules/mes/service/MesProcessParamLimitCheckService.java

@@ -92,7 +92,7 @@ public class MesProcessParamLimitCheckService {
 		}
 		List<NormalizedLimit> limits = limitMap.get("arc115");
 		for (MesProductCmt row : list) {
-			row.setLimitFlag(checkArcContent(row == null ? null : row.getContent(), limits) ? "1" : "0");
+			row.setLimitFlag(checkArcContent(row == null ? null : row.getContent(), limits, true) ? "1" : "0");
 		}
 	}
 
@@ -133,7 +133,7 @@ public class MesProcessParamLimitCheckService {
 
 	public boolean checkCmtRecord(MesProductCmt row) {
 		Map<String, List<NormalizedLimit>> limitMap = loadLimitMap();
-		return checkArcContent(row == null ? null : row.getContent(), limitMap.get("arc115"));
+		return checkArcContent(row == null ? null : row.getContent(), limitMap.get("arc115"), true);
 	}
 
 	private Map<String, List<NormalizedLimit>> loadLimitMap() {
@@ -191,14 +191,14 @@ public class MesProcessParamLimitCheckService {
 	}
 
 	private boolean checkArcRow(MesProductArcWelding row, List<NormalizedLimit> limits) {
-		return checkArcContent(row == null ? null : row.getContent(), limits);
+		return checkArcContent(row == null ? null : row.getContent(), limits, false);
 	}
 
-	private boolean checkArcContent(String content, List<NormalizedLimit> limits) {
+	private boolean checkArcContent(String content, List<NormalizedLimit> limits, boolean swapVoltageCurrent) {
 		if (limits == null || limits.isEmpty() || StringUtils.isBlank(content)) {
 			return false;
 		}
-		for (JSONObject sample : parseArcSamples(content)) {
+		for (JSONObject sample : parseArcSamples(content, swapVoltageCurrent)) {
 			for (NormalizedLimit limit : limits) {
 				for (String value : readArcValues(sample, limit.paramCode)) {
 					if (isOutOfRange(value, limit)) {
@@ -210,7 +210,7 @@ public class MesProcessParamLimitCheckService {
 		return false;
 	}
 
-	private List<JSONObject> parseArcSamples(String content) {
+	private List<JSONObject> parseArcSamples(String content, boolean swapVoltageCurrent) {
 		List<JSONObject> result = new ArrayList<>();
 		try {
 			String text = StringUtils.trim(content);
@@ -235,19 +235,19 @@ public class MesProcessParamLimitCheckService {
 				if (arr != null) {
 					for (int i = 0; i < arr.size(); i++) {
 						String record = arr.getString(i);
-						appendOldArcRecord(record, result);
+						appendOldArcRecord(record, result, swapVoltageCurrent);
 					}
 				}
 				return result;
 			}
-			appendOldArcRecord(text, result);
+			appendOldArcRecord(text, result, swapVoltageCurrent);
 			return result;
 		} catch (Exception ex) {
 			return result;
 		}
 	}
 
-	private void appendOldArcRecord(String record, List<JSONObject> result) {
+	private void appendOldArcRecord(String record, List<JSONObject> result, boolean swapVoltageCurrent) {
 		if (StringUtils.isBlank(record)) {
 			return;
 		}
@@ -267,11 +267,12 @@ public class MesProcessParamLimitCheckService {
 			sample.put("v" + i, values[i]);
 		}
 		if (values.length >= 11) {
-			sample.put("robot1Voltage", values[0]);
-			sample.put("robot1Current", values[1]);
+			// 115弧焊/CMT 设备上报顺序为电流|电压,与 HEV 弧焊不同
+			sample.put("robot1Voltage", values[swapVoltageCurrent ? 1 : 0]);
+			sample.put("robot1Current", values[swapVoltageCurrent ? 0 : 1]);
 			sample.put("robot1Speed", values[2]);
-			sample.put("robot2Voltage", values[5]);
-			sample.put("robot2Current", values[6]);
+			sample.put("robot2Voltage", values[swapVoltageCurrent ? 6 : 5]);
+			sample.put("robot2Current", values[swapVoltageCurrent ? 5 : 6]);
 			sample.put("robot2Speed", values[7]);
 			sample.put("time", values[values.length - 1]);
 		}

+ 4 - 4
src/main/resources/views/modules/mes/mesProductCmtInfo.html

@@ -141,13 +141,13 @@
         return arr.map(str => {
             const values = str.split('|');
             return {
-                V1: parseNumber(values[0]),       // 电压1
-                I1: parseNumber(values[1]),       // 电流1
+                V1: parseNumber(values[1]),       // 电压1(设备上报为电流|电压)
+                I1: parseNumber(values[0]),       // 电流1
                 speed1: parseNumber(values[2]),   // 送丝速度1
                 code1: parseInt(values[3], 10),   // 错误码1
                 JOB1: parseInt(values[4], 10),    // JOB号1
-                V2: parseNumber(values[5]),       // 电压2
-                I2: parseNumber(values[6]),       // 电流2
+                V2: parseNumber(values[6]),       // 电压2(设备上报为电流|电压)
+                I2: parseNumber(values[5]),       // 电流2
                 speed2: parseNumber(values[7]),   // 送丝速度2
                 code2: parseInt(values[8], 10),   // 错误码2
                 JOB2: parseInt(values[9], 10),    // JOB号2