Commit 9749c28b zshaohui

1.增加人工盘点,小车不去拉

2.异常的料箱,所有隔口都需要盘点
3.盘点未结束,流水线不允许拉走
1 个父辈 a34a4d54
...@@ -73,5 +73,8 @@ public enum OP_STATUS { ...@@ -73,5 +73,8 @@ public enum OP_STATUS {
ON_SLIDE, ON_SLIDE,
//物料放入料格 //物料放入料格
REEL_TO_BOX REEL_TO_BOX,
//等到人工盘点
WAIT_MANAUL_INVENTORY
} }
...@@ -324,12 +324,25 @@ public class InventoryController { ...@@ -324,12 +324,25 @@ public class InventoryController {
/** /**
* 盘点数据出库 * 盘点数据出库
* *
* @param storagePosIdList * @param paramMap
* @return * @return
*/ */
@RequestMapping("/inventoryOut") @RequestMapping("/inventoryOut")
//@AnonymousAccess //@AnonymousAccess
public synchronized ResultBean inventoryOut(@RequestBody List<String> storagePosIdList) { public synchronized ResultBean inventoryOut(@RequestBody Map<String,String> paramMap) {
List<String> storagePosIdList = new ArrayList<>();
String storagePosIdListStr = paramMap.get("storagePosIdList");
if (StringUtils.isNotEmpty(storagePosIdListStr)){
storagePosIdList = JsonUtil.toList(storagePosIdListStr,String.class);
}
String manualStr = paramMap.get("manual");
if (StringUtils.isEmpty(manualStr)){
return ResultBean.newErrorResult(-1,"","请选择人工盘点或者出到人工分拣线盘点");
}
boolean manual = Boolean.valueOf(manualStr);
String inventoryBatch = dataCache.getCache(INVENTORY_DATA) + ""; String inventoryBatch = dataCache.getCache(INVENTORY_DATA) + "";
if (StringUtils.isBlank(inventoryBatch) || "-1".equals(inventoryBatch)) { if (StringUtils.isBlank(inventoryBatch) || "-1".equals(inventoryBatch)) {
return ResultBean.newErrorResult(-1, "", "请点击开始盘点"); return ResultBean.newErrorResult(-1, "", "请点击开始盘点");
...@@ -380,7 +393,13 @@ public class InventoryController { ...@@ -380,7 +393,13 @@ public class InventoryController {
dataLog.setExtendType(ExtendType.INVENTORY_CHECKOUT); //盘点出库 dataLog.setExtendType(ExtendType.INVENTORY_CHECKOUT); //盘点出库
dataLog.setInventoryBatch(dataCache.getCache(INVENTORY_DATA)); dataLog.setInventoryBatch(dataCache.getCache(INVENTORY_DATA));
dataLog.setLoc(TaskCurrentLoc.Manual_FeedingInlet); dataLog.setLoc(TaskCurrentLoc.Manual_FeedingInlet);
dataLog.setSourceName("盘点出库"); dataLog.setSourceName(inventoryBatch+"盘点出库");
//如果是人工盘点,则直接生成一个任务,等待人工盘点,否则拉到人工流水线去盘点
if (manual){
dataLog.setStatus(OP_STATUS.WAIT_MANAUL_INVENTORY.name());
} else {
dataLog.setStatus(OP_STATUS.WAIT.name());
}
try { try {
taskService.addTaskToExecute(dataLog); taskService.addTaskToExecute(dataLog);
} catch (Exception e) { } catch (Exception e) {
...@@ -403,12 +422,21 @@ public class InventoryController { ...@@ -403,12 +422,21 @@ public class InventoryController {
* @return * @return
*/ */
@RequestMapping("/batchInventoryOut") @RequestMapping("/batchInventoryOut")
public ResultBean batchInventoryOut(String posName) { public ResultBean batchInventoryOut(String posName,Boolean manual) {
log.info(SecurityUtils.getLoginUsername()+":点击批量盘点,库位号为:"+posName+"是否人工盘点:"+manual);
Pattern pattern = Pattern.compile(QueryHelp.escapeExprSpecialWord(posName), Pattern.CASE_INSENSITIVE); Pattern pattern = Pattern.compile(QueryHelp.escapeExprSpecialWord(posName), Pattern.CASE_INSENSITIVE);
List<StoragePos> storagePosList = storagePosManager.findByQuery(new Query(Criteria.where("posName").regex(pattern))); List<StoragePos> storagePosList = storagePosManager.findByQuery(new Query(Criteria.where("posName").regex(pattern)));
List<String> storagePosIdList = storagePosList.stream().map(item -> item.getId()).collect(Collectors.toList()); List<String> storagePosIdList = storagePosList.stream().map(item -> item.getId()).collect(Collectors.toList());
return inventoryOut(storagePosIdList);
if (manual == null){
manual = false;
}
Map<String,String> paramMap = new HashMap();
paramMap.put("storagePosIdList",JsonUtil.toJsonStr(storagePosIdList));
paramMap.put("manual",JsonUtil.toJsonStr(manual));
return inventoryOut(paramMap);
} }
...@@ -531,7 +559,7 @@ public class InventoryController { ...@@ -531,7 +559,7 @@ public class InventoryController {
@RequestMapping("/noInventoryOut") @RequestMapping("/noInventoryOut")
@AnonymousAccess @AnonymousAccess
public ResultBean noInventoryOut(InventoryQuery query) { public ResultBean noInventoryOut(InventoryQuery query) {
//判断时间是否为空 /* //判断时间是否为空
BetweenData<Date> createDateBetween = query.getCreateDate(); BetweenData<Date> createDateBetween = query.getCreateDate();
if (createDateBetween == null || createDateBetween.isEmpty()) { if (createDateBetween == null || createDateBetween.isEmpty()) {
return ResultBean.newErrorResult(-1, "", "所选时间为空"); return ResultBean.newErrorResult(-1, "", "所选时间为空");
...@@ -578,7 +606,8 @@ public class InventoryController { ...@@ -578,7 +606,8 @@ public class InventoryController {
} }
dataCache.updateCache(INVENTORY_DATA, com.neotel.smfcore.common.utils.DateUtil.toDateString(System.currentTimeMillis(), "yyyyMMddHHmmssSSS")); dataCache.updateCache(INVENTORY_DATA, com.neotel.smfcore.common.utils.DateUtil.toDateString(System.currentTimeMillis(), "yyyyMMddHHmmssSSS"));
} }
return inventoryOut(storagePosIdList); return inventoryOut(storagePosIdList);*/
return ResultBean.newOkResult("");
} }
...@@ -748,11 +777,15 @@ public class InventoryController { ...@@ -748,11 +777,15 @@ public class InventoryController {
data.setOriPosName(posName); data.setOriPosName(posName);
String boxPar = boxStr + "-0" + i; String boxPar = boxStr + "-0" + i;
if (partition.equals(boxPar) || extraDataMap.get(CommonUtil.outExpPrefix+boxPar) != null) { if (extraDataMap != null && !extraDataMap.isEmpty()){
data.setNeedInventory(true); data.setNeedInventory(true);
} else { } else {
data.setNeedInventory(false); if (partition.equals(boxPar)){
data.setStatus(InventoryStatus.FINISHED.name()); data.setNeedInventory(true);
} else {
data.setNeedInventory(false);
data.setStatus(InventoryStatus.FINISHED.name());
}
} }
if(subCodeList == null || subCodeList.isEmpty()){ if(subCodeList == null || subCodeList.isEmpty()){
data.setMatch(true); data.setMatch(true);
......
...@@ -538,7 +538,7 @@ public class WarehouseController { ...@@ -538,7 +538,7 @@ public class WarehouseController {
//判断是否盘点完成 //判断是否盘点完成
boolean finished = BoxUtil.isInventoryFinished(boxStr); boolean finished = BoxUtil.isInventoryFinished(boxStr);
if (!finished) { if (!finished) {
//return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点"); return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点");
} }
boxBarcode.setInventory(false); boxBarcode.setInventory(false);
boxBarcode = barcodeManager.save(boxBarcode); boxBarcode = barcodeManager.save(boxBarcode);
......
...@@ -184,8 +184,16 @@ public class BoxUtil { ...@@ -184,8 +184,16 @@ public class BoxUtil {
List<InventoryData> dataList = inventoryDataManager.findByQuery(new Query(Criteria.where("inventoryBatch").is(inventoryBatch).and("box").is(boxStr))); List<InventoryData> dataList = inventoryDataManager.findByQuery(new Query(Criteria.where("inventoryBatch").is(inventoryBatch).and("box").is(boxStr)));
if (dataList != null && !dataList.isEmpty()) { if (dataList != null && !dataList.isEmpty()) {
for (InventoryData data : dataList) { for (InventoryData data : dataList) {
if (!data.getStatus().equals(InventoryStatus.FINISHED.name())) { if (data.getReelCount() <= 0){
return false; data.setStatus(InventoryStatus.FINISHED.name());
inventoryDataManager.save(data);
}
}
for (InventoryData data : dataList) {
if (data.getReelCount() > 0){
if (!data.getStatus().equals(InventoryStatus.FINISHED.name())) {
return false;
}
} }
} }
} }
......
...@@ -367,7 +367,7 @@ public class ManualGrPutInController { ...@@ -367,7 +367,7 @@ public class ManualGrPutInController {
//判断盘点是否完成 //判断盘点是否完成
boolean finished = BoxUtil.isInventoryFinished(boxStr); boolean finished = BoxUtil.isInventoryFinished(boxStr);
if (!finished) { if (!finished) {
//return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点"); return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点");
} }
//1.清理要出库的数据 //1.清理要出库的数据
......
...@@ -138,7 +138,7 @@ public class ManualLineController { ...@@ -138,7 +138,7 @@ public class ManualLineController {
boolean finished = BoxUtil.isInventoryFinished(boxBarcode.getBarcode()); boolean finished = BoxUtil.isInventoryFinished(boxBarcode.getBarcode());
if (!finished) { if (!finished) {
//return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点"); return ResultBean.newErrorResult(-1, "", boxStr + "盘点未完成,请继续盘点");
} }
//1.清理要出库的数据 //1.清理要出库的数据
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!