自动化立体仓库 - WCS系统
luxiaotao1123
2020-09-29 acc22eabcb1296bf7a3072b36ebd66d136c9a466
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -28,7 +28,7 @@
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.CrnThread;
import com.zy.core.CrnThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -121,8 +121,8 @@
            vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 货叉位置
            vo.setXLocation(crnProtocol.getWalkPos() == 1?"是":"否");      // 走行定位
            vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"否":"是");      // 升降定位
            vo.setStop(crnProtocol.getCrnTemp1().stop?"是":"否");       //  急停
            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));  //  异常码
            vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"是":"否");       //  急停
            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));  //  异常码
        }
        return R.ok().add(list);
    }
@@ -148,7 +148,7 @@
            }
            vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号
            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
            if (null != crnError) {
                vo.setError(crnError.getErrName());
            }
@@ -207,6 +207,7 @@
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        staNoProcess(param, command);
        return crnControl(command)?R.ok():R.error();
    }
@@ -224,6 +225,7 @@
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        staNoProcess(param, command);
        return crnControl(command)?R.ok():R.error();
    }
@@ -241,6 +243,7 @@
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        staNoProcess(param, command);
        return crnControl(command)?R.ok():R.error();
    }
@@ -258,6 +261,7 @@
        command.setDestinationPosX(param.getStaNo());     // 目标库位排
        command.setDestinationPosY((short) 0);     // 目标库位列
        command.setDestinationPosZ((short) 1);     // 目标库位层
        staNoProcess(param, command);
        return crnControl(command)?R.ok():R.error();
    }
@@ -309,6 +313,7 @@
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        staNoProcess(param, command);
        return crnControl(command)?R.ok():R.error();
    }
@@ -422,4 +427,30 @@
        return false;
    }
    private void staNoProcess(CrnOperatorParam param, CrnCommand command){
        if (param.getSourceStaNo()!=null) {
            if (param.getSourceStaNo() == 5) {
                command.setSourcePosX((short) 2);     // 源库位排
                command.setSourcePosY((short) 0);     // 源库位列
                command.setSourcePosZ((short) 1);     // 源库位层
            } else if (param.getSourceStaNo() == 6) {
                command.setSourcePosX((short) 1);     // 源库位排
                command.setSourcePosY((short) 0);     // 源库位列
                command.setSourcePosZ((short) 1);     // 源库位层
            }
        }
        if (param.getStaNo()!=null) {
            if (param.getStaNo() == 5) {
                command.setDestinationPosX((short) 2);     // 目标库位排
                command.setDestinationPosY((short) 0);     // 目标库位列
                command.setDestinationPosZ((short) 1);     // 目标库位层
            } else if (param.getStaNo() == 6) {
                command.setDestinationPosX((short) 1);     // 目标库位排
                command.setDestinationPosY((short) 0);     // 目标库位列
                command.setDestinationPosZ((short) 1);     // 目标库位层
            }
        }
    }
}