#
yxFwq
2024-11-29 0bb1ee03b4faa39d83b2ba1911fff3ac1b126ae6
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.LedErrorAreaType;
import com.zy.asrs.domain.enums.WorkNoType;
@@ -62,6 +63,7 @@
//    private static final Integer jarMaxLoc1 = 7;
    private static  Integer jarMaxLoc = 0;
//    private static  Integer trunBig = 0;
//    private static  Integer signBigTurn = 0;
//    private static  Integer signSmallTurn = 0;
    private static final Float jarTemperature = 50F;
@@ -3098,13 +3100,20 @@
                continue;
            }
            Integer turnBigInt = 0;
            if (wrkMast.booleanStaNoSign()){
                RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign("LineUp"+wrkMast.getStaNo());
                if (Cools.isEmpty(rgvOneSign)){
                    continue;
                }
                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).gt("wrk_sts",12L));
                if (wrkCount+rgvOneSign.getRgvOneSign()>=3){
                RgvOneSign trunBig = rgvOneSignMapper.selectOneSign("TrunBig");
                if (Cools.isEmpty(trunBig)){
                    continue;
                }
                turnBigInt = trunBig.getRgvOneSign();
                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMast.getStaNo()).eq("wrk_sts",12L));
                if (trunBig.getRgvOneSign()+wrkCount+rgvOneSign.getRgvOneSign()>2){
                    continue;
                }
//                int wrkCount = wrkMastMapper.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
@@ -3267,6 +3276,9 @@
                    crnCommand.setDestinationPosX((short)0);     // 目标库位排
                    crnCommand.setDestinationPosY((short)0);     // 目标库位列
                    crnCommand.setDestinationPosZ((short)0);     // 目标库位层
                    if (!Cools.isEmpty(wrkMast.getStaNo()) && (wrkMast.getStaNo().equals(312) || wrkMast.getStaNo().equals(310))){
                        updateRgvOneSign("TrunBig",turnBigInt+1);
                    }
                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) {
                        log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSONString(crnCommand));
                    } else {
@@ -3348,6 +3360,24 @@
//            signBigTurn = 0;
//        }
    }
    public void updateRgvOneSign(String signType,Integer oneSign){
        RgvOneSignMapper rgvOneSignMapper = SpringUtils.getBean(RgvOneSignMapper.class);
        try{
            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
            if (!Cools.isEmpty(rgvOneSign)){
                rgvOneSign.setRgvOneSign(oneSign);
                rgvOneSignMapper.updateById(rgvOneSign);
            }
        } catch (Exception e){
            RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign(signType);
            if (!Cools.isEmpty(rgvOneSign)){
                rgvOneSign.setRgvOneSign(999);
                rgvOneSignMapper.updateById(rgvOneSign);
            }
        }
    }
    /**
@@ -8421,6 +8451,10 @@
    /**
     *  ste充电任务创建   //完成
     */
    public synchronized void signTrunBig() {
        updateRgvOneSign("TrunBig",0);
    }
    public synchronized boolean jarChargeGenerate() {
        try{
            //80%电量 无任务  充电  >50电量  有任务  断电