|
@@ -43,6 +43,91 @@ public class BaseLocationInfoServiceImpl implements IBaseLocationInfoService {
|
|
|
@Autowired
|
|
|
private RedisCache redisCache;
|
|
|
|
|
|
+ /**
|
|
|
+ * 入库校验同列任务任务状态和阻挡
|
|
|
+ *
|
|
|
+ * @param basLocationList
|
|
|
+ * @param token
|
|
|
+ * @param isReleaseGoods 是否目标点位
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BaseLocationLotattVO checkTheSameColumnLocation(List<BaseLocationLotattVO> basLocationList) {
|
|
|
+ boolean isBlock = false; // 是否阻挡
|
|
|
+ BaseLocationLotattVO basLocation = null;
|
|
|
+ //筛选2次 第2次去除同列占用和阻挡条件 todo 先筛选一次吧
|
|
|
+ for (int i = 0; i < 1 && basLocation == null; i++) {
|
|
|
+ for (BaseLocationLotattVO location : basLocationList) {
|
|
|
+ //如果库位类型不为地堆则不用判断同列占用和阻挡
|
|
|
+ if (location.getLocationType().equals("1")) {
|
|
|
+ isBlock = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ //只有第一次判断同列任务占用和阻挡
|
|
|
+ if (i == 0 && isBlock) {
|
|
|
+ //同列是否有任务
|
|
|
+ List<BaseLocationInfo> occupyByLocs = baseLocationInfoMapper.queryByListOccupyByLoc(location);
|
|
|
+ if (occupyByLocs.size() > 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //同列前方是否有阻挡
|
|
|
+ List<BaseLocationInfo> inStockByLocs = baseLocationInfoMapper.queryByListInStockByLoc(location);
|
|
|
+ if (inStockByLocs.size() > 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ basLocation = location;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return basLocation;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param baseLocationLotattVO 要判断的库位
|
|
|
+ * @param basLocationList 满足要求的库位列表
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BaseLocationLotattVO checkTheSameColumnLocation1(BaseLocationLotattVO baseLocationLotattVO, List<BaseLocationLotattVO> basLocationList) {
|
|
|
+
|
|
|
+ //查同列所有库位
|
|
|
+ List<BaseLocationLotattVO> baseLocationInfos = baseLocationInfoMapper.queryByListInUserdeFine1(baseLocationLotattVO);
|
|
|
+
|
|
|
+ if (baseLocationInfos.size() == 1) {
|
|
|
+ return baseLocationLotattVO;
|
|
|
+ }
|
|
|
+
|
|
|
+ //同列是否有任务
|
|
|
+ List<BaseLocationInfo> occupyByLocs = baseLocationInfoMapper.queryByListOccupyByLoc(baseLocationLotattVO);
|
|
|
+ if (occupyByLocs.size() > 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //同列前方是否有阻挡
|
|
|
+ List<BaseLocationInfo> inStockByLocs = baseLocationInfoMapper.queryByListInStockByLoc(baseLocationLotattVO);
|
|
|
+ if (inStockByLocs.size() > 0) {
|
|
|
+
|
|
|
+ boolean isSuccess = true;
|
|
|
+ for (int i = 0; i < inStockByLocs.size(); i++) {
|
|
|
+ if (basLocationList.size() == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ boolean isSuit = false;
|
|
|
+ for (BaseLocationLotattVO vo : basLocationList) {
|
|
|
+
|
|
|
+ if (inStockByLocs.get(i).getId().equals(vo.getId())) {
|
|
|
+
|
|
|
+ isSuit = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ isSuccess = isSuit;
|
|
|
+ if (!isSuccess) return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return baseLocationLotattVO;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询库位信息
|
|
|
*
|
|
@@ -191,7 +276,7 @@ public class BaseLocationInfoServiceImpl implements IBaseLocationInfoService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<BaseLocationInfo> selectSortedLocatinListByZoneId(Long zoneId, Long warehouseId,String orderBy) {
|
|
|
+ public List<BaseLocationInfo> selectSortedLocatinListByZoneId(Long zoneId, Long warehouseId, String orderBy) {
|
|
|
BaseLocationInfo query = new BaseLocationInfo();
|
|
|
query.setWarehouseId(warehouseId);
|
|
|
query.setZoneId(zoneId);
|
|
@@ -376,7 +461,7 @@ public class BaseLocationInfoServiceImpl implements IBaseLocationInfoService {
|
|
|
try {
|
|
|
if (StringUtils.isEmpty(baseLocationInfo.getLocationNo())) {
|
|
|
if (baseLocationInfo.getLocationType().equals("1")) {
|
|
|
- baseLocationInfo.setLocationNo(baseLocationInfo.getColNo() + "-" + StringUtils.addZero(baseLocationInfo.getRowNo(), 2)+ "-" +StringUtils.addZero(baseLocationInfo.getRowIndex(),2));
|
|
|
+ baseLocationInfo.setLocationNo(baseLocationInfo.getColNo() + "-" + StringUtils.addZero(baseLocationInfo.getRowNo(), 2) + "-" + StringUtils.addZero(baseLocationInfo.getRowIndex(), 2));
|
|
|
} else {
|
|
|
baseLocationInfo.setLocationNo(baseLocationInfo.getRowNo() + "-" + StringUtils.addZero(baseLocationInfo.getColNo(), 2) + "-" + StringUtils.addZero(baseLocationInfo.getColIndex().toString(), 2));
|
|
|
}
|