Commit 1789a1ea zshaohui

1.实时库存接口修改

2.料盘与料仓尺寸不符,重新查找新的库位
1 个父辈 fc39d207
......@@ -192,9 +192,11 @@ public class BaseDeviceHandler implements IDeviceHandler {
}
if (!storage.canPutInPos(barcodeSave.getPlateSize(), barcodeSave.getHeight(), storagePos.getW(), storagePos.getH())) {
String reelSize = barcodeSave.getPlateSize() + "x" + barcodeSave.getHeight();
String posSize = storagePos.getW() + "x" + storagePos.getH();
throw new ValidateException("smfcore.error.pos.sizeNotMatch", "料盘尺寸[{0}}]与库位{1}尺寸[{2}]不符,无法入库", new String[]{reelSize,posName,posSize});
//String reelSize = barcodeSave.getPlateSize() + "x" + barcodeSave.getHeight();
//String posSize = storagePos.getW() + "x" + storagePos.getH();
//throw new ValidateException("smfcore.error.pos.sizeNotMatch", "料盘尺寸[{0}}]与库位{1}尺寸[{2}]不符,无法入库", new String[]{reelSize,posName,posSize});
//如果尺寸不符合,则重新查找空库位
storagePos = findLineEmptyPosForPutIn(storage, barcodeSave);
}
} else {
......
......@@ -68,4 +68,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
List<StoragePos> getSameSizeContinuityEmptyPosList(Storage storage, Barcode barcode) throws ValidateException;
List<StoragePos> getNotEmptyByStorageIdList(List<String> storageId);
List<StoragePos> findByBarcodesAndPartNums(List<String> partNums, List<String> reelIds);
}
......@@ -569,6 +569,21 @@ public class StoragePosManagerImpl implements IStoragePosManager {
return storagePosDao.findByQuery(query);
}
@Override
public List<StoragePos> findByBarcodesAndPartNums(List<String> partNums, List<String> reelIds) {
//构造查询条件
Query query = new Query();
Criteria criteria = Criteria.where("barcode").exists(true).and("enabled").is(true);
if (reelIds != null && !reelIds.isEmpty()){
criteria.and("barcode.barcode").in(reelIds);
}
if (partNums != null && !partNums.isEmpty()){
criteria.and("barcode.partNumber").in(partNums);
}
query.addCriteria(criteria);
return storagePosDao.findByQuery(query);
}
/**
* 获取下一库位的库位名(后缀数字+1)
*/
......
......@@ -34,6 +34,8 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -124,8 +126,9 @@ public class NeotelController {
@ApiOperation("6.3 获取实时库存")
@AnonymousPostMapping("/inventory")
public ResultBean inventory(@RequestBody Map<String, List<String>> paramMap) {
List<String> towerIds = paramMap.get("towerIds");
List<StoragePos> storagePosList = storagePosManager.getNotEmptyByStorageIdList(towerIds);
List<String> partNums = paramMap.get("partNums");
List<String> reelIds = paramMap.get("reelIds");
List<StoragePos> storagePosList = storagePosManager.findByBarcodesAndPartNums(partNums,reelIds);
if (storagePosList != null && storagePosList.size() > 0) {
List<Map<String, Object>> resultMapList = new ArrayList<>();
for (StoragePos storagePos : storagePosList) {
......@@ -138,6 +141,7 @@ public class NeotelController {
resultMap.put("qty", subBarcode.getAmount());
resultMap.put("towerId", storagePos.getStorageId());
resultMap.put("location", storagePos.getPosName());
resultMap.put("partNum", subBarcode.getPartNumber());
resultMapList.add(resultMap);
}
} else {
......@@ -146,6 +150,7 @@ public class NeotelController {
resultMap.put("qty", barcode.getAmount());
resultMap.put("towerId", storagePos.getStorageId());
resultMap.put("location", storagePos.getPosName());
resultMap.put("partNum", barcode.getPartNumber());
resultMapList.add(resultMap);
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!