Junjie
2024-06-12 8a8faba0f55512a2c18c4fe719a1bb0c4f6a86c9
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -112,6 +112,8 @@
    private NavigateMapUtils navigateMapUtils;
    @Autowired
    private WrkDetlLogService wrkDetlLogService;
    @Autowired
    private MatService matService;
    /**
@@ -2513,7 +2515,7 @@
    /**
     * AGV补货 => 生成入库通知档
     */
    public void robotGenerateAgvTask() {
    public synchronized void robotGenerateAgvTask() {
        try {
            //检测300站是否自动、有物、工作号
            for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -2613,7 +2615,7 @@
    /**
     * AGV补货 => 机械臂拣料
     */
    public void agvRestockByRobot() {
    public synchronized void agvRestockByRobot() {
        try {
            //检测300站是否自动、有物、工作号
            for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -2674,7 +2676,7 @@
    /**
     * AGV补货(通知AGV取货)
     */
    public void agvRestockInto() {
    public synchronized void agvRestockInto() {
        try {
            //检测309和312站是否自动、有物
            for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -2772,7 +2774,7 @@
    /**
     * AGV补货(悬挂线通知AGV取货)
     */
    public void agvRestockIntoByHangingWire() {
    public synchronized void agvRestockIntoByHangingWire() {
        try {
            //检测350和351扫码器
            int[] barcodeStaNo = {11, 12,14,16,18,20};//11 => 350站扫码器,12 => 351站扫码器
@@ -2818,7 +2820,7 @@
    /**
     * AGV拣料站点信息
     */
    public void agvCurrentContainerCodeInfoWire() {
    public synchronized void agvCurrentContainerCodeInfoWire() {
        try {
            //检测350和351扫码器
            int[] barcodeStaNo = {13, 15,17,19};//11 => 350站扫码器,12 => 351站扫码器
@@ -2992,13 +2994,38 @@
                    ledCommand.setBarcode(barcode);
                    if (ioType != 110 && ioType != 10) {
                        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkNo));
                        wrkDetls.forEach(wrkDetl -> {
                            double remainNum = wrkDetl.getStock() - wrkDetl.getAnfme();//剩余数量
                            if (remainNum < 0) {
                                remainNum = 0;
                        if (!wrkDetls.isEmpty()) {
                            wrkDetls.forEach(wrkDetl -> {
                                double remainNum = wrkDetl.getStock() - wrkDetl.getAnfme();//剩余数量
                                if (remainNum < 0) {
                                    remainNum = 0;
                                }
                                String matnr = wrkDetl.getMatnr();
                                Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
                                if (mat != null) {
                                    if (!mat.getMatnr().equals(mat.getMatnr2())) {
                                        matnr += " - " + mat.getMatnr2();
                                    }
                                }
                                ledCommand.getMatDtos().add(new MatDto(matnr, wrkDetl.getMaktx(), wrkDetl.getAnfme(), remainNum, wrkDetl.getSpecs(), wrkDetl.getSuppCode(), wrkDetl.getOrderNo()));
                            });
                        }else {
                            List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkNo, barcode);
                            for (WrkDetlLog wrkDetlLog : wrkDetlLogs) {
                                double remainNum = wrkDetlLog.getStock() - wrkDetlLog.getAnfme();//剩余数量
                                if (remainNum < 0) {
                                    remainNum = 0;
                                }
                                String matnr = wrkDetlLog.getMatnr();
                                Mat mat = matService.selectByMatnr(wrkDetlLog.getMatnr());
                                if (mat != null) {
                                    if (!mat.getMatnr().equals(mat.getMatnr2())) {
                                        matnr += " - " + mat.getMatnr2();
                                    }
                                }
                                ledCommand.getMatDtos().add(new MatDto(matnr, wrkDetlLog.getMaktx(), wrkDetlLog.getAnfme(), remainNum, wrkDetlLog.getSpecs(), wrkDetlLog.getSuppCode()));
                            }
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), remainNum, wrkDetl.getSpecs(), wrkDetl.getSuppCode(), wrkDetl.getOrderNo()));
                        });
                        }
//                        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
//                        if (ioType == 101) {