Commit 1926b14b zshaohui

1.线外扫码入库,直接完成任务状态

2.盘点功能优化
1 个父辈 d177a906
...@@ -107,13 +107,23 @@ public class InventoryController { ...@@ -107,13 +107,23 @@ public class InventoryController {
public ResultBean getInventoryInfo() { public ResultBean getInventoryInfo() {
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
int inventoryCount = 0; int inventoryCount = 0;
int count = storagePosManager.countByQuery(new Query()); String storageId = "";
for (Storage storage : dataCache.getAllStorage().values()) {
if (!storage.isVirtual()){
storageId = storage.getId();
break;
}
}
int count = storagePosManager.countByQuery(new Query(Criteria.where("storageId").is(storageId)));
Long inventoryBatch = dataCache.getCache(INVENTORY_DATA); Long inventoryBatch = dataCache.getCache(INVENTORY_DATA);
if (inventoryBatch != null) { if (inventoryBatch != null) {
inventoryCount = inventoryDataManager.countByQuery(new Query(Criteria.where("inventoryBatch").is(inventoryBatch).and("status").is(InventoryStatus.FINISHED.name()))); inventoryCount = inventoryDataManager.countByQuery(new Query(Criteria.where("inventoryBatch").is(inventoryBatch).and("status").is(InventoryStatus.FINISHED.name())));
} }
resultMap.put("inventoryCount", inventoryCount); resultMap.put("inventoryCount", inventoryCount);
resultMap.put("count", count); resultMap.put("count", count);
resultMap.put("inventoryBatch",inventoryBatch == -1 ? "" : inventoryBatch);
return ResultBean.newOkResult(resultMap); return ResultBean.newOkResult(resultMap);
} }
...@@ -127,10 +137,11 @@ public class InventoryController { ...@@ -127,10 +137,11 @@ public class InventoryController {
@AnonymousAccess @AnonymousAccess
public ResultBean inventoryStart() { public ResultBean inventoryStart() {
Long inventoryBatch = dataCache.getCache(INVENTORY_DATA); Long inventoryBatch = dataCache.getCache(INVENTORY_DATA);
if (inventoryBatch == null) { if (inventoryBatch == null || inventoryBatch == -1) {
inventoryBatch = System.currentTimeMillis(); inventoryBatch = System.currentTimeMillis();
dataCache.updateCache(INVENTORY_DATA, inventoryBatch); dataCache.updateCache(INVENTORY_DATA, inventoryBatch);
} }
log.info(SecurityUtils.getCurrentUsername() + "开始盘点,批次为:" + inventoryBatch);
return ResultBean.newOkResult("盘点批次为:" + inventoryBatch); return ResultBean.newOkResult("盘点批次为:" + inventoryBatch);
} }
...@@ -176,7 +187,7 @@ public class InventoryController { ...@@ -176,7 +187,7 @@ public class InventoryController {
} }
} }
} }
dataCache.updateCache(INVENTORY_DATA, null); dataCache.updateCache(INVENTORY_DATA, -1l);
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
...@@ -188,7 +199,7 @@ public class InventoryController { ...@@ -188,7 +199,7 @@ public class InventoryController {
*/ */
@RequestMapping("/getStoragePosData") @RequestMapping("/getStoragePosData")
@AnonymousAccess @AnonymousAccess
public Map<String, List<StoragePosDto>> getStoragePosData(String posName) { public List<StoragePosDto> getStoragePosData(String posName) {
Map<String, List<StoragePosDto>> resultMap = new HashMap<>(); Map<String, List<StoragePosDto>> resultMap = new HashMap<>();
List<Storage> storageList = new ArrayList<>(); List<Storage> storageList = new ArrayList<>();
for (Storage storage : dataCache.getAllStorage().values()) { for (Storage storage : dataCache.getAllStorage().values()) {
...@@ -218,9 +229,10 @@ public class InventoryController { ...@@ -218,9 +229,10 @@ public class InventoryController {
} }
} }
} }
resultMap.put(storage.getName(), storagePosMapper.toDto(storagePosList)); storagePosList = storagePosList.stream().sorted(Comparator.comparing(StoragePos :: getPosName)).collect(Collectors.toList());
return storagePosMapper.toDto(storagePosList);
} }
return resultMap; return new ArrayList<>();
} }
...@@ -451,8 +463,8 @@ public class InventoryController { ...@@ -451,8 +463,8 @@ public class InventoryController {
String boxStr = BoxUtil.getBoxStr(currentRfid); String boxStr = BoxUtil.getBoxStr(currentRfid);
//判断当前料箱是否为要盘点的料箱 //判断当前料箱是否为要盘点的料箱
Barcode boxBarcode = barcodeManager.findByBarcode(boxStr); Barcode boxBarcode = barcodeManager.findByBarcode(boxStr);
if (boxBarcode == null || !boxBarcode.isInventory()){ if (boxBarcode == null || !boxBarcode.isInventory()) {
return boxStr+"不是要盘点的料箱"; return boxStr + "不是要盘点的料箱";
} }
Barcode barcode = codeBean.getBarcode(); Barcode barcode = codeBean.getBarcode();
//判断是否在料箱中 //判断是否在料箱中
...@@ -467,7 +479,7 @@ public class InventoryController { ...@@ -467,7 +479,7 @@ public class InventoryController {
//开始查询盘点数据 //开始查询盘点数据
//盘点批次 //盘点批次
Long inventoryBatch = dataCache.getCache(INVENTORY_DATA); Long inventoryBatch = dataCache.getCache(INVENTORY_DATA);
if(inventoryBatch == null) { if (inventoryBatch == null) {
inventoryBatch = -1l; inventoryBatch = -1l;
} }
InventoryData data = inventoryDataManager.findOne(new Query(Criteria.where("inventoryBatch").is(inventoryBatch).and("boxPartition").is(posName))); InventoryData data = inventoryDataManager.findOne(new Query(Criteria.where("inventoryBatch").is(inventoryBatch).and("boxPartition").is(posName)));
......
...@@ -436,6 +436,7 @@ public class OutLineController { ...@@ -436,6 +436,7 @@ public class OutLineController {
} }
} }
resultBean.setData(getBoxInfo(boxStr)); resultBean.setData(getBoxInfo(boxStr));
finishVirtualTask(boxStr);
if (hasBrand) { if (hasBrand) {
resultBean.setCode(3); resultBean.setCode(3);
return resultBean; return resultBean;
...@@ -502,6 +503,7 @@ public class OutLineController { ...@@ -502,6 +503,7 @@ public class OutLineController {
//} //}
} }
resultBean.setData(getBoxInfo(boxStr)); resultBean.setData(getBoxInfo(boxStr));
finishVirtualTask(boxStr);
if (hasBrand) { if (hasBrand) {
resultBean.setCode(3); resultBean.setCode(3);
return resultBean; return resultBean;
...@@ -650,6 +652,7 @@ public class OutLineController { ...@@ -650,6 +652,7 @@ public class OutLineController {
return ResultBean.newErrorResult(-1, "", barcode.getBarcode() + "不需要出库"); return ResultBean.newErrorResult(-1, "", barcode.getBarcode() + "不需要出库");
} }
resultBean.setData(getBoxInfo(boxStr)); resultBean.setData(getBoxInfo(boxStr));
finishVirtualTask(boxStr);
if (hasBrand) { if (hasBrand) {
log.info("hasBrand--" + hasBrand); log.info("hasBrand--" + hasBrand);
resultBean.setCode(3); resultBean.setCode(3);
...@@ -663,6 +666,7 @@ public class OutLineController { ...@@ -663,6 +666,7 @@ public class OutLineController {
//任务取消 //任务取消
else if (INOUT_TYPE.CANCEL_ONE.name().equals(inoutType)) { else if (INOUT_TYPE.CANCEL_ONE.name().equals(inoutType)) {
finishVirtualTask(boxStr);
//根据箱子号 找到barcode //根据箱子号 找到barcode
Barcode pidBarcode = barcodeManager.findByBarcode(boxStr); Barcode pidBarcode = barcodeManager.findByBarcode(boxStr);
//判断是否有要出库的任务,给取消掉 //判断是否有要出库的任务,给取消掉
...@@ -759,6 +763,16 @@ public class OutLineController { ...@@ -759,6 +763,16 @@ public class OutLineController {
String code = paramMap.get("code"); String code = paramMap.get("code");
//code = getBoxStrbyBoxPartition(code); //code = getBoxStrbyBoxPartition(code);
//判断是否有出库任务,如果有就完成 //判断是否有出库任务,如果有就完成
Map<String, Object> resultMap = getBoxInfo(code);
return ResultBean.newOkResult(resultMap);
}
/**
* 虚拟仓任务完成
* @param code
*/
private void finishVirtualTask(String code) {
DataLog task = null; DataLog task = null;
Collection<DataLog> queueTasks = taskService.getQueueTasks(); Collection<DataLog> queueTasks = taskService.getQueueTasks();
for (DataLog queueTask : queueTasks) { for (DataLog queueTask : queueTasks) {
...@@ -789,8 +803,6 @@ public class OutLineController { ...@@ -789,8 +803,6 @@ public class OutLineController {
} }
} }
} }
Map<String, Object> resultMap = getBoxInfo(code);
return ResultBean.newOkResult(resultMap);
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!