1
zhang
2025-09-26 3897c8800805f6e99e30d700fe0c11c5ed2df84a
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1169,8 +1169,8 @@
        for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
            boolean flag = false;
            // 获取工作状态为103(设备上走)的入库工作档
            WrkMast wrkMast = wrkMastMapper.selectPakInStep103(slave.getId());
            // 获取工作状态为104(设备上走)的入库工作档
            WrkMast wrkMast = wrkMastMapper.selectPakInStep104(slave.getId());
            if (null == wrkMast) {
                News.infoNoLog("" + mark + " - 1" + " - 4" + " - 查询无待入库数据--wrk_sts=2, 工作号={}");
//                log.error("查询无待入库数据--wrk_sts=2, 工作号={}", staProtocol.getWorkNo());
@@ -1231,9 +1231,9 @@
                News.error("" + mark + " - 1" + " - 16" + " - 堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
            } else {
                // 修改工作档状态 2.设备上走 => 104.吊车入库取货中
                // 修改工作档状态 2.设备上走 => 105.吊车入库取货中
                Date now = new Date();
                wrkMast.setWrkSts(104L);
                wrkMast.setWrkSts(105L);
                wrkMast.setCrnStrTime(now);
                wrkMast.setModiTime(now);
                if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -1379,7 +1379,7 @@
                    } else {
                        // 修改工作档状态 11.生成出库ID => 12.吊车出库中
                        Date now = new Date();
                        wrkMast.setWrkSts(105L);
                        wrkMast.setWrkSts(106L);
                        wrkMast.setCrnStrTime(now);
                        wrkMast.setModiTime(now);
                        if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -1400,7 +1400,7 @@
        News.warnNoLog("" + mark + " - 2" + " - 0" + " - 堆垛机入出库作业下发:执行出库");
        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
            // 获取工作状态为11(生成出库ID)的出库工作档
            List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep105(slave.getId(), crnStn.getStaNo());
            List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep107(slave.getId(), crnStn.getStaNo());
            for (WrkMast wrkMast : wrkMasts) {
                if (wrkMast == null) {
                    continue;
@@ -1523,7 +1523,7 @@
                    } else {
                        // 修改工作档状态 11.生成出库ID => 12.吊车出库中
                        Date now = new Date();
                        wrkMast.setWrkSts(106L);
                        wrkMast.setWrkSts(108L);
                        wrkMast.setCrnStrTime(now);
                        wrkMast.setModiTime(now);
                        if (wrkMastMapper.updateById(wrkMast) == 0) {
@@ -2088,6 +2088,7 @@
        // 命令下发区 --------------------------------------------------------------------------
        CrnCommand crnCommand = new CrnCommand();
        crnCommand.setPltType(getCrnStation(wrkMast.getSourceLocNo()));
        crnCommand.setCrnNo(slave.getId()); // 堆垛机编号
        crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号
        crnCommand.setAckFinish((short) 0);  // 任务完成确认位
@@ -2660,7 +2661,13 @@
            LocMast loc = null;
            for (Integer row : rows) {
                if (Utils.isDeepLoc(slaveProperties, row)) {
                    loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
                    if (shallowLoc.getRow1() == 1 && row == 1) {
                        loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                    } else if (shallowLoc.getRow1() == 29 && row == 29) {
                        loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                    } else {
                        loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
                    }
                    if (loc != null) {
                        if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
@@ -2679,7 +2686,14 @@
            if (null == loc) {
                for (Integer row : rows) {
                    if (Utils.isShallowLoc(slaveProperties, row)) {
                        loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
                        if (shallowLoc.getRow1() == 1 && row == 1) {
                            loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                        } else if (shallowLoc.getRow1() == 29 && row == 29) {
                            loc = locMastService.queryFreeLocMast2(row, shallowLoc.getLocType1());
                        } else {
                            loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
                        }
                        if (null != loc) {//对应深库位非在库状态,不能移库
                            String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());