#
vincentlu
昨天 1a518d788ee36886af92b2adfcbe9e79e83ef08e
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java
@@ -17,7 +17,7 @@
@Service
public class TransferStationHandler {
    private static final long LOAD_DELAY_MS  = 15000L; // load ( inbound ) delay timeout
    private static final long LOAD_DELAY_MS  = 60000L; // load ( inbound ) delay timeout
    private static final long PLACE_DELAY_MS  = 15000L; // place ( outbound ) delay timeout
    @Autowired
@@ -30,6 +30,8 @@
    private CodeService codeService;
    @Autowired
    private StaService staService;
    @Autowired
    private TravelService travelService;
    /**
     * 取货(入库):在取完第一个货的时候,担心滚筒输送线会有下一个货物,所以建议AGV在原地等待一段时间
@@ -69,16 +71,17 @@
            // 背篓未满才等
            Integer backpack = agvService.getBackpack(agvId);
            List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(currSeg.getTravelId(), agvId);
            List<Integer> usedBackpacks = segmentService.selectUsedBackpacks(currSeg.getTravelId(), agvId); // todo:vincent 拿不到数据
            if (usedBackpacks.size() >= backpack) {
                return false;
            }
            // sign waiting
            if (currSeg.getRollerWaiting() == 0) {
                currSeg.setRollerWaiting(1);
                segmentService.updateById(currSeg);
            }
            // mark roller waiting
            travelService.markRollerWaiting(currSeg.getTravelId(), currentCode.getId());
//            if (currSeg.getRollerWaiting() == 0) {
//                currSeg.setRollerWaiting(1);
//                segmentService.updateById(currSeg);
//            }
            // timeout
            return (now - preEndTime) < LOAD_DELAY_MS;
@@ -95,11 +98,12 @@
                return false;
            }
            // sign waiting
            if (currSeg.getRollerWaiting() == 0) {
                currSeg.setRollerWaiting(1);
                segmentService.updateById(currSeg);
            }
            // mark roller waiting
            travelService.markRollerWaiting(currSeg.getTravelId(), currentCode.getId());
//            if (currSeg.getRollerWaiting() == 0) {
//                currSeg.setRollerWaiting(1);
//                segmentService.updateById(currSeg);
//            }
            // timeout
            return (now - preEndTime) < PLACE_DELAY_MS;