diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java index b1fc627..450f967 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.rulematch; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipVariableCfgRuleMatchDispatchService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.BarCodeUtils; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCfgCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; @@ -55,7 +56,7 @@ public class MesEvcRuleMatchBackValueService implements IMesEquipVariableCfgRule String realEquipVariableValue = equipVariableCollectContext.getEquipVariableValue(); - String equipVariableValue = StringUtils.removePattern(equipVariableCollectContext.getEquipVariableValue(), "[^A-Z^a-z0-9_^\\s^\\-^/^\\.^\\[^\\)^\\>^\\:]"); + String equipVariableValue = BarCodeUtils.removePatternSpecialCharacter(equipVariableCollectContext.getEquipVariableValue()); return realEquipVariableValue.equals(equipVariableValue) ? equipVariableCollectContext : equipVariableCollectContext.replaceValue(realEquipVariableValue, equipVariableValue); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesShippingRfidMatchStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesShippingRfidMatchStepService.java index b9387bc..dd6c5fa 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesShippingRfidMatchStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesShippingRfidMatchStepService.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.BarCodeUtils; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; @@ -45,7 +46,7 @@ public class MesShippingRfidMatchStepService extends BaseStepService { String productSn = CollectionUtils.isEmpty(equipVariableCollectContextList) ? null : equipVariableCollectContextList.get(0).getEquipVariableValue(); if (StringUtils.isEmpty(productSn)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前未获取到设备写入的主条码信息!"); - if (!shippingQueue.getRfidSn().equals(productSn)) + if (!BarCodeUtils.removePatternSpecialCharacter(shippingQueue.getRfidSn()).equals(productSn)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("RFID匹配失败!读条码[%s]与RFID条码[%s]不一致!", productSn, shippingQueue.getRfidSn())); return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "RFID匹配成功!", MesPcnEnumUtil.PROMPT_SOUND.SUCCESS.getValue()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/BarCodeUtils.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/BarCodeUtils.java index 1d01caf..d3ac60f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/BarCodeUtils.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/BarCodeUtils.java @@ -9,6 +9,7 @@ import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.datamatrix.encoder.SymbolShapeHint; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; +import org.apache.commons.lang3.StringUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -110,4 +111,9 @@ public class BarCodeUtils { MatrixToImageWriter.writeToStream(bitMatrix, "png", os); return os; } + + public static String removePatternSpecialCharacter(String barCode) { + if (StringUtils.isEmpty(barCode)) return MesPcnExtConstWords.EMPTY; + return StringUtils.removePattern(barCode, "[^A-Z^a-z0-9_^\\s^\\-^/^\\.^\\[^\\)^\\>^\\:]"); + } }