Commit 45377c7a LN

库位锁定key中.替换为_

1 个父辈 e36133a6
package com.neotel.smfcore.common.utils;
import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.neotel.smfcore.core.device.util.DataCache;
......@@ -44,26 +45,33 @@ public class ReelLockPosUtil {
* @param reelLockPosInfo
*/
public static synchronized ReelLockPosInfo addReelLockPosInfo(ReelLockPosInfo reelLockPosInfo , List<String> cidList) {
log.info("为[" + reelLockPosInfo.getBarcode() + "]锁定库位[" + reelLockPosInfo.getLockPosName() + "]");
ReelLockPosInfo oldLocInfo = reelLocKPosMap.get(reelLockPosInfo.getBarcode());
String key = processBarcode(reelLockPosInfo.getBarcode());
log.info("为[" + reelLockPosInfo.getBarcode() + "]锁定库位[" + reelLockPosInfo.getLockPosName() + "],key=[" + key + "]");
ReelLockPosInfo oldLocInfo = reelLocKPosMap.get(key);
try {
if (oldLocInfo != null && oldLocInfo.getLockPosName() != null) {
if(cidList.contains(oldLocInfo.getCid())){
if (cidList.contains(oldLocInfo.getCid())) {
log.info("[" + oldLocInfo.getBarcode() + "]已有锁定库位[" + oldLocInfo.getLockPosName() + "],返回之前锁定的库位");
return oldLocInfo;
}else{
} else {
//锁定库位不在cid列表中
log.info("[" + oldLocInfo.getBarcode() + "]已有锁定库位[" + oldLocInfo.getLockPosName() + "],Cid["+oldLocInfo.getCid()+"]不在["+String.join(",",cidList)+"]中,清理原有锁定库位");
reelLocKPosMap.remove(reelLockPosInfo.getBarcode());
log.info("[" + oldLocInfo.getBarcode() + "]已有锁定库位[" + oldLocInfo.getLockPosName() + "],Cid[" + oldLocInfo.getCid() + "]不在[" + String.join(",", cidList) + "]中,清理原有锁定库位");
reelLocKPosMap.remove(key);
}
}
for (ReelLockPosInfo locInfo : reelLocKPosMap.values()) {
if (locInfo.getLockPosId().equals(reelLockPosInfo.getLockPosId()) && !locInfo.getBarcode().equals(reelLockPosInfo.getBarcode())) {
if (locInfo.getLockPosId().equals(reelLockPosInfo.getLockPosId()) && !locInfo.getBarcode().equals(key)) {
log.info("为[" + reelLockPosInfo.getBarcode() + "]锁定库位[" + reelLockPosInfo.getLockPosName() + "]时,库位已被[" + locInfo.getBarcode() + "]锁定");
return null;
}
}
reelLocKPosMap.put(reelLockPosInfo.getBarcode(), reelLockPosInfo);
reelLocKPosMap.put(key, reelLockPosInfo);
dataCache.updateCache(REEL_LOCK_POS_MAP_KEY, reelLocKPosMap);
} catch (Exception exception) {
log.error("为[" + reelLockPosInfo.getBarcode() + "]锁定库位[" + reelLockPosInfo.getLockPosName() + "],key=[" + key + "]出错:"+exception.toString());
}
return reelLockPosInfo;
}
......@@ -74,7 +82,7 @@ public class ReelLockPosUtil {
String lockBarcode = reelLockPosInfo.getBarcode();
if (org.apache.logging.log4j.util.Strings.isNotBlank(lockBarcode)) {
if (lockBarcode.equals(barcode)) {
if (lockBarcode.equals(processBarcode(barcode) )) {
return reelLockPosInfo;
}
}
......@@ -89,7 +97,7 @@ public class ReelLockPosUtil {
* 清理条码锁定库位信息
*/
public static void removeReelLockPosInfo(String barcode) {
reelLocKPosMap.remove(barcode);
reelLocKPosMap.remove(processBarcode(barcode));
dataCache.updateCache(REEL_LOCK_POS_MAP_KEY, reelLocKPosMap);
}
......@@ -100,7 +108,7 @@ public class ReelLockPosUtil {
* @return
*/
public static String getReelLockPosId(String barcode) {
ReelLockPosInfo lockPosInfo = reelLocKPosMap.get(barcode);
ReelLockPosInfo lockPosInfo = reelLocKPosMap.get(processBarcode(barcode));
if (lockPosInfo != null) {
return lockPosInfo.getLockPosId();
}
......@@ -117,4 +125,18 @@ public class ReelLockPosUtil {
}
return lockPosIds;
}
private static String processBarcode(String str) {
if (ObjectUtil.isEmpty(str)) {
return str;
}
if (str.contains(".")) {
String res = str.replace(".", "_");
return res;
} else {
return str;
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!