#
LSH
2023-11-15 2d69236d4361213ebd98b57aca4f36b6d299754f
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -8,10 +8,7 @@
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.mapper.BasRgvErrMapper;
import com.zy.asrs.mapper.WaitPakinMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.mapper.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.asrs.utils.VersionUtils;
@@ -96,6 +93,8 @@
    private BasRgvPathService basRgvPathService;
    @Autowired
    private RedisUtil redisUtil;
    @Autowired
    private WrkMastStaMapper wrkMastStaMapper;
    @Value("${wms.url}")
    private String wmsUrl;
@@ -701,25 +700,29 @@
     * 绑定小车方法
     */
    public synchronized void rgvBindSte2() {
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            List<WrkMast> wrkMasts = wrkMastMapper.selectWaitBindRGVRgvNo(rgv.getId());
            if (!Cools.isEmpty(wrkMasts) && wrkMasts.size()!=0){
                continue;
            }
            List<WrkMast> wrkMasts2 = wrkMastMapper.selectWaitBindRgvNo2(rgv.getId());
            for (WrkMast wrkMast : wrkMasts2) {
                if (wrkMastMapper.selectWaitBindRgvNoOneWrkNo(wrkMast.getWrkNo())!=null){
        try{
            for (RgvSlave rgv : slaveProperties.getRgv()) {
                List<WrkMast> wrkMasts = wrkMastMapper.selectWaitBindRGVRgvNo(rgv.getId());
                if (!Cools.isEmpty(wrkMasts) && wrkMasts.size()!=0){
                    continue;
                }
                //目标站
                BasDevp basDevp = basDevpService.selectById(wrkMast.getRgvDstaNo());
                if (Cools.isEmpty(basDevp) || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("N") || basDevp.getWrkNo()!=0){
                    continue;
                List<WrkMast> wrkMasts2 = wrkMastMapper.selectWaitBindRgvNo2(rgv.getId());
                for (WrkMast wrkMast : wrkMasts2) {
                    if (wrkMastMapper.selectWaitBindRgvNoOneWrkNo(wrkMast.getWrkNo())!=null){
                        continue;
                    }
                    //目标站
                    BasDevp basDevp = basDevpService.selectById(wrkMast.getRgvDstaNo());
                    if (Cools.isEmpty(basDevp) || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("N") || basDevp.getWrkNo()!=0){
                        continue;
                    }
                    wrkMastMapper.insertRgvMast(wrkMast.getWrkNo());
                    wrkMastMapper.updateRgvMast(wrkMast.getWrkNo());
                    break;
                }
                wrkMastMapper.insertRgvMast(wrkMast.getWrkNo());
                wrkMastMapper.updateRgvMast(wrkMast.getWrkNo());
                break;
            }
        }catch (Exception e){
            log.error("小车搬运任务异常:{}", e.getMessage());
        }
    }
@@ -3802,4 +3805,32 @@
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
    }
    /**
     *  完成小车任务
     */
    public synchronized void rgvCompleteWrkMastSta() {
    }
    /**
     * 执行小车搬运任务
     */
    public synchronized void rgvRunWrkMastSta() {
        Integer signCount = 0;
        for (RgvSlave rgvSlave:slaveProperties.getRgv()){
            if (true){//rgv可用
                signCount++;
            }
        }
        List<WrkMastSta> wrkMastStas = wrkMastStaMapper.selectAllWrkMastStaList();
        for (WrkMastSta wrkMastSta : wrkMastStas) {
            // 只有当堆垛机空闲 并且 无任务时才继续执行
            if (true) {
            }
        }
    }
}