自动化立体仓库 - WMS系统
whycq
2024-10-07 792ec31c45fbb4935821d55ab38765febbbb82c8
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -21,7 +21,6 @@
import com.zy.system.service.ConfigService;
import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -285,6 +284,7 @@
            String locNo = agvWrkMast.getLocNo();
            agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
            agvWrkMast.setSourceLocNo(locNo);
            agvWrkMast.setModiTime(new Date());
            agvWrkMast.setIoTime(now);
            agvWrkMast.setLogErrMemo("createWaitPainWrkMastStart");
            agvWrkMastService.updateById(agvWrkMast);
@@ -545,6 +545,10 @@
        AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station);
        if(!agvBasDevp.getLocSts().equals("O")){
            throw new CoolException("当前工作位状态为" + agvBasDevp.getLocSts()+",无法进行空板出库");
        }
        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvBasDevp.getDevNo()));
        if(!Cools.isEmpty(agvWrkMast)){
            throw new CoolException("有货架在往站点搬运" + agvBasDevp.getDevNo()+",无法进行空板出库");
        }
        //寻找相应类型的空货架
@@ -843,9 +847,11 @@
                String targetLocNo = wrkMast.getLocNo();
                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
                agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
                // 源库位 库位主档
                AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
                AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
                // 当前任务是跨层移库  且目标楼层是1楼的 回滚调拨单
                if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) {
                if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1 && sourceLocMast.getFloor() != 1) {
                    List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
                    for (AgvLocDetl agvLocDetl : agvLocDetls) {
                        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
@@ -933,7 +939,7 @@
            }
            if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
            if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
                //订单回滚
                //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -1201,9 +1207,11 @@
        }
        if (wrkMast.getIoType() == 108) {
            wrkMast.setIoType(111);
            wrkMast.setModiTime(new Date());
            agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
        } else if(wrkMast.getIoType() == 111) {
            wrkMast.setIoType(108);
            wrkMast.setModiTime(new Date());
            agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
        }