自动化立体仓库 - WMS系统
#
whycq
2024-06-02 7c4565df1d655c703f6d8269040ecd9eaec8ea4a
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -233,26 +233,29 @@
    @Transactional
    public ReturnT<String> completedCarryWrk(AgvWrkMast agvWrkMast) {
        try{
            Date now = new Date();
            int wrkNo = agvWrkMast.getWrkNo();
            String orderNo = getOrderNoByWrkNo(wrkNo);
            //修改工作档状态为207.库存更新完成
            agvWrkMast.setWrkSts(207L);
            agvWrkMastService.updateById(agvWrkMast);
            //修改源库位状态为O
            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
            if (agvWrkMast.getIoType() == 110) {
                agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
            }
            if(agvWrkMast.getIoType() == 101){
                //更新目标库位明细 101.出库 删除源库位库存明细
                agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
                //生成空板入库任务
                Short containerType = Short.valueOf(agvWrkMast.getBarcode().substring(0, 2));
                try {
                    //agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
//                    agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
                    AgvWrkMast wrkMast = new AgvWrkMast();
                    //工作状态
                    wrkMast.setWrkSts(201L);
                    //入出库类型
                    wrkMast.setIoType(10);
                    wrkMast.setIoTime(new Date());
                    wrkMast.setIoTime(now);
                    //优先级
                    wrkMast.setIoPri(300.0);
                    //源站点
@@ -265,14 +268,22 @@
                    wrkMast.setWhsType(Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)));
                    wrkMast.setAppeUser(9527L);
                    wrkMast.setAppeTime(new Date());
                    wrkMast.setAppeTime(now);
                    wrkMast.setModiUser(9527L);
                    wrkMast.setModiTime(new Date());
                    wrkMast.setModiTime(now);
                    if (!agvWrkMastService.insertByIncrease(wrkMast)) {
                        throw new CoolException("保存工作档失败");
                    }
                    AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo());
                    agvLocMast.setLocSts("S");
                    agvLocMast.setModiTime(now);
                    agvLocMastService.updateById(agvLocMast);
                    AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getLocNo());
                    agvBasDevp.setLocSts("R");
                    agvBasDevp.setLocType2(Short.valueOf(agvWrkMast.getBarcode().substring(0, 2)));
                    agvBasDevpService.updateById(agvBasDevp);
                }catch (Exception e){
                    e.printStackTrace();
                    log.error(e.getMessage());