自动化立体仓库 - WCS系统
野心家
2024-07-16 40c2987c083122db0c9f9ea57750abb42d85b642
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -46,6 +46,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import springfox.documentation.spring.web.json.Json;
import java.util.ArrayList;
import java.util.Date;
@@ -286,6 +287,7 @@
//                        }
                    } catch (Exception e) {
                        News.error("扫码入库报错,错误信息",e);
                        e.printStackTrace();
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    }
@@ -1077,15 +1079,13 @@
        //获取所有移库任务
        List<WrkMast> wrkMasts=wrkMastMapper.selectLocMoves(slave.getId());
        // 获取工作档信息
        WrkMast wrkMast = wrkMastMapper.selectLocMove(slave.getId());
        WrkMast wrkMast =null;
        if(Cools.isEmpty(wrkMasts)){
            return;
        }
        if (null == wrkMast) {
            return;
        }
        //先查测试库位转OK或者NG库位按了按钮的
        for (WrkMast wm: wrkMasts) {
            LocMast sourceSta1 = locMastService.selectById(wm.getSourceLocNo());
            LocMast sourceSta1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wm.getSourceLocNo()));
            if (!Cools.isEmpty(sourceSta1.getCtnKind())){
                if(sourceSta1.getCtnKind()==1){
                    wrkMast=wm;
@@ -1093,6 +1093,20 @@
                }
            }
        }
        //后查等待库位转测试库位
        if(Cools.isEmpty(wrkMast)){
            for (WrkMast wm: wrkMasts) {
                LocMast sourceSta1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wm.getSourceLocNo()));
                if (sourceSta1.getLocType1()==3){
                        wrkMast=wm;
                }
            }
        }
        //都没有满足条件的,跳过移库
        if(Cools.isEmpty(wrkMast)){
            return;
        }
        // 获取源库位信息
        LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
        if (null == sourceSta) {
@@ -2402,41 +2416,41 @@
                            //testMast.setStatus
                            //"状态 0: 待申请  1: 申请中  2: 已复核 3:测试中 4:完成 5:移库 6:火警"
                            if(devpThread.startSignal[i][0]==8){
                                News.info("2390行程序开始运行,修改测试档状态为 1、申请中,开始修改前:"+testMast);
                                News.info("2390行程序开始运行,修改测试档状态为 1、申请中,开始修改前:"+ JSON.toJSONString(testMast));
                                testMast.setStatus(1);
                                locMast.setPackStatus(1);
                                testMast.setModiTime(new Date());
                                log.info("2394行程序开始运行,修改测试档状态为 1、申请中,修改数据后、未更新"+testMast);
                                log.info("2394行程序开始运行,修改测试档状态为 1、申请中,修改数据后、未更新"+JSON.toJSONString(testMast));
                            }else if(devpThread.startSignal[i][0]==2 && locMast.getPackStatus()!=2){
                                News.info("2396行程序开始运行,修改测试档状态为 3、测试中,开始修改前:"+testMast);
                                News.info("2396行程序开始运行,修改测试档状态为 3、测试中,开始修改前:"+JSON.toJSONString(testMast));
                                testMast.setStatus(3);
                                locMast.setPackStatus(2);
                                testMast.setModiTime(new Date());
                                log.info("2400,修改测试档状态为 3、测试中,修改数据后、未更新"+testMast);
                                log.info("2400,修改测试档状态为 3、测试中,修改数据后、未更新"+JSON.toJSONString(testMast));
                                //NG转OK需要还原源库位和目标库位状态,OK转NG 删除任务档
                                WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                                        .eq("source_loc_no",locMast.getLocNo())
                                        .eq("wrk_sts",11));
                                News.info("2405,查询状态为生成出库id的测试完成(NG或OK)任务档,"+wrkMast);
                                News.info("2405,查询状态为生成出库id的测试完成(NG或OK)任务档,"+JSON.toJSONString(wrkMast));
                                if(!Cools.isEmpty(wrkMast)){
                                    if(wrkMast.getWrkSts()==11){
                                        if(wrkMast.getIoType()==11){
                                            log.info("2409,删除任务档为移库的,"+wrkMast);
                                            log.info("2409,删除任务档为移库的,"+JSON.toJSONString(wrkMast));
                                            LocMast locMast1=locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
                                            locMast1.setLocSts("O");
                                            locMastService.update(locMast1,new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
                                        }
                                        wrkMastMapper.deleteById(wrkMast);
                                        log.info("2415,删除工作档"+wrkMast);
                                        log.info("2415,删除工作档"+JSON.toJSONString(wrkMast)+JSON.toJSONString(locMast));
                                        locMast.setLocSts("F");
                                        log.info("2417,删除工作档"+wrkMast);
                                        log.info("2417,删除工作档"+JSON.toJSONString(wrkMast)+JSON.toJSONString(locMast));
                                        wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no",wrkMast.getWrkNo()));
                                        log.info("2419,删除工作明细"+wrkMast.getWrkNo());
                                        if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
                                                .eq("channel",i+1))){
                                            log.error("2422修改测试库位状态失败"+locMast.getLocNo(),locMast);
                                            log.error("2422修改测试库位状态失败"+locMast.getLocNo()+JSON.toJSONString(locMast));
                                        }else{
                                            log.error("2424"+locMast.getLocNo(),locMast);
                                            log.error("2424修改测试库位状态成功"+locMast.getLocNo()+JSON.toJSONString(locMast));
                                            fig=true;
                                        }
                                    }