diff --git a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java index 76c325f2..905554f9 100644 --- a/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java +++ b/src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java @@ -548,6 +548,19 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe throw new RuntimeException("分拣/被分拣栈板不能在组盘入库或手工组盘操作,当前站点为" + stationRole + ":" + stationText); } + /** + * @author rqrq + * @Description 人工分拣扫盘准入:sortFlag=1 时托盘必须在手工分拣位或被分拣位;组盘场景不调用本方法,避免把分拣门槛套到组盘入库。 - rqrq + * @param locationCode 当前托盘 location_code,空值视为不在分拣作业站 - rqrq + */ + private void requireSortingOperateStationOnSortingScene(String locationCode) { + if (HaiAnStationStaticData.isSortingOperateStation(locationCode)) { + return; + } + String stationText = StringUtils.hasText(locationCode) ? locationCode.trim() : "空"; + throw new RuntimeException("当前栈板不在人工分拣位或被分拣位,无法分拣,当前站点:" + stationText); + } + /** * @author rqrq * @Description A0206禁止主动扫入标签:组盘入库/手工组盘调用;人工分拣页不调用本方法。 - rqrq @@ -1073,9 +1086,11 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe } HaiAnPalletInfoResult palletInfo = loadRequiredPallet(site, palletId); Integer sortFlag = request.getSortFlag(); - // 组盘入库/手工组盘:分拣盘和被分拣盘一律拒绝;只有人工分拣页 sortFlag=1 才放行 - rqrq + // 组盘入库/手工组盘:分拣盘和被分拣盘一律拒绝;人工分拣页 sortFlag=1 必须在分拣位或被分拣位,其它点扫盘即拦 - rqrq if (!HaiAnPdaSortFlagStaticData.isSortingScene(sortFlag)) { rejectSortingPalletOnPackingScene(palletInfo.getLocationCode()); + } else { + requireSortingOperateStationOnSortingScene(palletInfo.getLocationCode()); } boolean sortedSourcePallet = isSortedSourcePalletInSortingScene(sortFlag, palletInfo.getLocationCode()); String callingFlag = palletInfo.getCallingFlag();