Commit 09c282a7 sunke

感应料架优化

1 个父辈 9cb5f8a9
......@@ -389,6 +389,7 @@ public class DeviceController {
}
pos.setEnabled(false);
storagePosManager.save(pos);
dataCache.updateDisablePos(pos);
log.info("屏蔽库位:库位号[" + pos.getId() + "][" + pos.getPosName() + "]barcode[" + barcode + "]");
DeviceMessageUtil.addEnabledPosMessage(pos,"");
......
......@@ -94,6 +94,11 @@ public class DataCache {
*/
private static Map<String,List<String>> usedPosNameMap = new ConcurrentHashMap<>();
/**
* 禁用库位名称列表
*/
private static Set<String> disabledPosNameSet;
@PostConstruct
public void initialize() {
settings = getSettings();
......@@ -382,6 +387,39 @@ public class DataCache {
}
}
/**
* 获取禁用库位缓存
*/
public Set<String> getDisabledPosNameSet(){
initDisabledPosNameSet();
return disabledPosNameSet;
}
/**
* 初始化禁用库位缓存
*/
private synchronized void initDisabledPosNameSet(){
if(disabledPosNameSet == null){
disabledPosNameSet = new HashSet<>();
List<StoragePos> disabledPosList = storagePosManager.findDisabled();
for (StoragePos disabledPos : disabledPosList) {
disabledPosNameSet.add(disabledPos.getPosName());
}
log.info("加载禁用库位缓存,共" + disabledPosNameSet.size() + "个");
}
}
/**
* 更新禁用库位缓存
*/
public void updateDisablePos(StoragePos pos){
initDisabledPosNameSet();
if(pos.isEnabled()){
disabledPosNameSet.remove(pos.getPosName());
}else{
disabledPosNameSet.add(pos.getPosName());
}
}
/**
* 出库时清除使用库位列表
......
......@@ -225,6 +225,7 @@ public class StoragePosController {
}
pos.setEnabled(enabledDto.isEnabled());
storagePosManager.save(pos);
dataCache.updateDisablePos(pos);
log.info("启用禁用库位:库位号[" + pos.getId() + "][" + pos.getPosName() + "]=" + enabledDto.isEnabled());
DeviceMessageUtil.addEnabledPosMessage(pos,SecurityUtils.getCurrentUsername());
......@@ -254,6 +255,7 @@ public class StoragePosController {
String enabledStr="";
if(pos.isEnabled()!= saveDto.isEnabled()){
pos.setEnabled(saveDto.isEnabled());
dataCache.updateDisablePos(pos);
enabledStr=saveDto.isEnabled()?",启用库位":",禁用库位";
DeviceMessageUtil.addEnabledPosMessage(pos,SecurityUtils.getCurrentUsername());
}
......
......@@ -68,4 +68,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
List<StoragePos> getSameSizeContinuityEmptyPosList(Storage storage, Barcode barcode) throws ValidateException;
List<StoragePos> findByBarcodesAndPartNums(List<String> storageIds, List<String> partNums, List<String> reelIds);
List<StoragePos> findDisabled();
}
......@@ -598,4 +598,11 @@ public class StoragePosManagerImpl implements IStoragePosManager {
return storagePosDao.findByQuery(query);
}
@Override
public List<StoragePos> findDisabled(){
Criteria c = Criteria.where("enabled").is(false);//不可用;
Query query = new Query(c);
return storagePosDao.findByQuery(query);
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!