自动化立体仓库 - WMS系统
#
yxFwq
2024-11-25 b50154e59c5db0e686da57275d1810338a32d769
#
7个文件已修改
237 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/WrkMast.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/BareBoardScheduler.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/deviceOperate/jarOperate.html 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -582,6 +582,21 @@
        return 0;
    }
    public boolean booleanStaNoSignOther(){
        if (this.staNo == null){
            return true;
        } else {
            switch (this.staNo){
                case 144:
                case 145:
                case 152:
                case 153:
                    return false;
            }
        }
        return true;
    }
src/main/java/com/zy/asrs/task/BareBoardScheduler.java
@@ -93,18 +93,19 @@
            Integer devNo = 173;
            Config config = configService.selectOne(new EntityWrapper<Config>().eq("code","bareBoard172"));
            if (!Cools.isEmpty(config) && !Cools.isEmpty(config.getValue()) && config.getValue().equals("Y")){
                BasDevp basDevp = basDevpService.selectById(160);
                if (basDevp.getLoading().equals("Y")
                        || !basDevp.getAutoing().equals("Y")
                        || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
                    return;
                }
//                BasDevp basDevp = basDevpService.selectById(160);
//                if (basDevp.getLoading().equals("Y")
//                        || !basDevp.getAutoing().equals("Y")
//                        || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
//                    return;
//                }
                int loadIngCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().ge("dev_no", 160).le("dev_no", devNo).eq("loading", "Y"));
                int count = 10;
                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", devNo).eq("wrk_sts",11L));
                if (loadIngCount+wrkCount<count){
                int count = 12;
                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", devNo).eq("wrk_sts",11L));
                int wrkCount12 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", devNo).eq("wrk_sts",12L));
                if (loadIngCount+wrkCount+wrkCount12<count){
                    RgvOneSign smallEmpty = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","smallEmpty"));
                    if (smallEmpty.getRgvOneSign()+wrkCount<13){
                    if (smallEmpty.getRgvOneSign()+wrkCount+wrkCount12<13){
                        bareBoardHandler.startYx(devNo,count);
                    }
                }
@@ -118,30 +119,31 @@
            Integer devNo = 272;
            Config config = configService.selectOne(new EntityWrapper<Config>().eq("code","bareBoard272"));
            if (!Cools.isEmpty(config) && !Cools.isEmpty(config.getValue()) && config.getValue().equals("Y")){
                BasDevp basDevp = basDevpService.selectById(265);
                if (basDevp.getLoading().equals("Y")
                        || !basDevp.getAutoing().equals("Y")
                        || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
                    return;
                }
                BasDevp basDevp264 = basDevpService.selectById(264);
                if (basDevp264.getLoading().equals("Y")
                        || !basDevp264.getAutoing().equals("Y")
                        || (!Cools.isEmpty(basDevp264.getWrkNo()) && basDevp264.getWrkNo()!=0) ){
                    return;
                }
                BasDevp basDevp266 = basDevpService.selectById(266);
                if (basDevp266.getLoading().equals("Y")
                        || !basDevp266.getAutoing().equals("Y")
                        || (!Cools.isEmpty(basDevp266.getWrkNo()) && basDevp266.getWrkNo()!=0) ){
                    return;
                }
//                BasDevp basDevp = basDevpService.selectById(265);
//                if (basDevp.getLoading().equals("Y")
//                        || !basDevp.getAutoing().equals("Y")
//                        || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
//                    return;
//                }
//                BasDevp basDevp264 = basDevpService.selectById(264);
//                if (basDevp264.getLoading().equals("Y")
//                        || !basDevp264.getAutoing().equals("Y")
//                        || (!Cools.isEmpty(basDevp264.getWrkNo()) && basDevp264.getWrkNo()!=0) ){
//                    return;
//                }
//                BasDevp basDevp266 = basDevpService.selectById(266);
//                if (basDevp266.getLoading().equals("Y")
//                        || !basDevp266.getAutoing().equals("Y")
//                        || (!Cools.isEmpty(basDevp266.getWrkNo()) && basDevp266.getWrkNo()!=0) ){
//                    return;
//                }
                int loadIngCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().ge("dev_no", 265).le("dev_no", devNo).eq("loading", "Y"));
                int count = 5;
                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", devNo).eq("wrk_sts",11L));
                if (loadIngCount+wrkCount<count){
                int count = 7;
                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", devNo).eq("wrk_sts",11L));
                int wrkCount12 = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", devNo).eq("wrk_sts",12L));
                if (loadIngCount+wrkCount+wrkCount12<count){
                    RgvOneSign bigEmpty = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","bigEmpty"));
                    if (bigEmpty.getRgvOneSign()+wrkCount<12){
                    if (bigEmpty.getRgvOneSign()+wrkCount+wrkCount12<count+5){
                        bareBoardHandler.startYx(devNo,count+5);
                    }
                }
src/main/java/com/zy/asrs/task/WrkMastCrnScheduler.java
@@ -107,7 +107,10 @@
//                    if (wrkMast.getStaNoSign().equals(signSmallTurn)){
//                        continue;
//                    }
                    if (wrkMast.getIoType()==101){
//                    if (wrkMast.booleanStaNoSignOther()){
//                        continue;
//                    }
                    if ((wrkMast.getIoType()==101 || wrkMast.getIoType() == 110) && wrkMast.booleanStaNoSign()){
                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMast.getStaNo()));
                        if (Cools.isEmpty(rgvOneSign)){
                            continue;
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
@@ -114,7 +114,7 @@
//                                            if (wrkMast.getStaNoSign().equals(signBigTurn)){
//                                                continue;
//                                            }
                                            if (wrkMast.booleanStaNoSign()){
                                            if (wrkMast.booleanStaNoSign() && wrkMast.booleanStaNoSign()){
                                                RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMast.getStaNo()));
                                                if (Cools.isEmpty(rgvOneSign)){
                                                    continue;
src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
@@ -6,10 +6,7 @@
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastCrnService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.WrkMastStaService;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.Utils;
@@ -38,6 +35,8 @@
    private LocMastService locMastService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private RgvOneSignService rgvOneSignService;
    @Transactional
    public ReturnT<String> start(WrkMast wrkMast,WrkMast wrkMastOther) {
@@ -123,6 +122,15 @@
            }
            WrkMast wrkMastOther = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", deepLocOther).eq("wrk_sts", 11L));
            if (!Cools.isEmpty(wrkMastOther)){
                if ((wrkMastOther.getIoType()==101 || wrkMastOther.getIoType() == 110) && wrkMastOther.booleanStaNoSign() && wrkMastOther.booleanStaNoSignOther()){
                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","LineUp"+wrkMastOther.getStaNo()));
                    if (Cools.isEmpty(rgvOneSign)){
                        return FAIL;
                    }
                    if (rgvOneSign.getRgvOneSign()>=2){
                        return FAIL;
                    }
                }
                WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
                wrkMastCrnService.insert(wrkMastCrn);
            }else {
src/main/java/com/zy/common/web/WcsController.java
@@ -114,61 +114,61 @@
        log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarcode());
        return R.ok().add(dto);
    }
    @PostMapping("/pakin/yx/loc/v33")
    @ResponseBody
    public synchronized R getLocNo33(@RequestBody SearchLocParam param) {
        if (Cools.isEmpty(param.getBarcode(), param.getSourceStaNo())) {
            throw new CoolException(BaseRes.PARAM);
        }
        // 判断是否有相同条码的数据
        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
            throw new CoolException(param.getBarcode() + "数据正在进行入库");
        }
        if(param.getBarcode().length()!=8){
            throw new CoolException("条码长度不是8位===>>" + param.getBarcode());
        }
        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
        if (countLoc > 0 || countWrk > 0 || countwait > 0) {
            throw new CoolException("组托档/工作档/库存条码数据已存在===>>" + param.getBarcode());
        }
        BasDevp basDevp = basDevpService.selectById(param.getSourceStaNo());
        if (Cools.isEmpty(basDevp)){
            throw new CoolException("参数:站点号 devNo不存在");
        }
        if (Cools.isEmpty(basDevp.getGrossWt())){
            throw new CoolException("参数:站点号 "+param.getSourceStaNo()+"重量信息不存在");
        }
        Date now = new Date();
        // 生成入库通知档
        Mat mat = matService.selectByMatnr("6-6405H");
        if (Cools.isEmpty(mat)) {
            throw new CoolException("6-6405H商品档案不存在");
        }
        WaitPakin waitPakin = new WaitPakin();
        waitPakin.sync(mat);
        waitPakin.setBatch("");
//
//    @PostMapping("/pakin/yx/loc/v33")
//    @ResponseBody
//    public synchronized R getLocNo33(@RequestBody SearchLocParam param) {
//        if (Cools.isEmpty(param.getBarcode(), param.getSourceStaNo())) {
//            throw new CoolException(BaseRes.PARAM);
//        }
//        // 判断是否有相同条码的数据
//        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
//                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
//            throw new CoolException(param.getBarcode() + "数据正在进行入库");
//        }
//
//        if(param.getBarcode().length()!=8){
//            throw new CoolException("条码长度不是8位===>>" + param.getBarcode());
//        }
//
//        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
//        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
//        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getBarcode()));
//        if (countLoc > 0 || countWrk > 0 || countwait > 0) {
//            throw new CoolException("组托档/工作档/库存条码数据已存在===>>" + param.getBarcode());
//        }
//        BasDevp basDevp = basDevpService.selectById(param.getSourceStaNo());
//        if (Cools.isEmpty(basDevp)){
//            throw new CoolException("参数:站点号 devNo不存在");
//        }
//        if (Cools.isEmpty(basDevp.getGrossWt())){
//            throw new CoolException("参数:站点号 "+param.getSourceStaNo()+"重量信息不存在");
//        }
//
//        Date now = new Date();
//        // 生成入库通知档
//        Mat mat = matService.selectByMatnr("6-6405H");
//        if (Cools.isEmpty(mat)) {
//            throw new CoolException("6-6405H商品档案不存在");
//        }
//        WaitPakin waitPakin = new WaitPakin();
//        waitPakin.sync(mat);
//        waitPakin.setBatch("");
////        waitPakin.setWeight(basDevp.getGrossWt());
//        waitPakin.setWeight(basDevp.getGrossWt());
        waitPakin.setWeight(basDevp.getGrossWt());
        waitPakin.setZpallet(param.getBarcode());   // 托盘码
        waitPakin.setIoStatus("N");     // 入出状态
        waitPakin.setAnfme(1.0);  // 数量
        waitPakin.setStatus("Y");    // 状态
        waitPakin.setAppeUser(7777L);
        waitPakin.setAppeTime(now);
        waitPakin.setModiUser(7777L);
        waitPakin.setModiTime(now);
        if (!waitPakinService.insert(waitPakin)) {
            throw new CoolException("保存入库通知档失败");
        }
        return R.ok();
    }
//        waitPakin.setZpallet(param.getBarcode());   // 托盘码
//        waitPakin.setIoStatus("N");     // 入出状态
//        waitPakin.setAnfme(1.0);  // 数量
//        waitPakin.setStatus("Y");    // 状态
//        waitPakin.setAppeUser(7777L);
//        waitPakin.setAppeTime(now);
//        waitPakin.setModiUser(7777L);
//        waitPakin.setModiTime(now);
//        if (!waitPakinService.insert(waitPakin)) {
//            throw new CoolException("保存入库通知档失败");
//        }
//        return R.ok();
//    }
    @PostMapping("/pakin/yx/loc/v464")
    @ResponseBody
    public synchronized R getLocNo464(@RequestBody SearchLocParam param) {
src/main/webapp/views/deviceOperate/jarOperate.html
@@ -177,12 +177,16 @@
                            <el-descriptions :title="currentTitle" direction="vertical" :column="4" border>
<!--                                <el-descriptions-item label="硫化罐">{{ tableData[currentIndex].jarNo }}-->
<!--                                </el-descriptions-item>-->
                                <el-descriptions-item label="模式">
                                    <el-tag>{{ tableData[currentIndex].jarMode }}</el-tag>
                                <el-descriptions-item label="区域">{{ tableData[currentIndex].region }}
                                </el-descriptions-item>
                                <el-descriptions-item label="设备状态">
                                    <el-tag>{{ tableData[currentIndex].jarStatus }}</el-tag>
                                <el-descriptions-item label="代号">{{ tableData[currentIndex].jarCode }}
                                </el-descriptions-item>
<!--                                <el-descriptions-item label="模式">-->
<!--                                    <el-tag>{{ tableData[currentIndex].jarMode }}</el-tag>-->
<!--                                </el-descriptions-item>-->
<!--                                <el-descriptions-item label="设备状态">-->
<!--                                    <el-tag>{{ tableData[currentIndex].jarStatus }}</el-tag>-->
<!--                                </el-descriptions-item>-->
                                <el-descriptions-item label="左门">{{ tableData[currentIndex].leftDoor }}
                                </el-descriptions-item>
                                <el-descriptions-item label="右门">{{ tableData[currentIndex].rightDoor }}
@@ -195,18 +199,15 @@
                                </el-descriptions-item>
                                <el-descriptions-item label="右门可关">{{ tableData[currentIndex].rightOutEnable }}
                                </el-descriptions-item>
                                <el-descriptions-item label="区域">{{ tableData[currentIndex].region }}
                                </el-descriptions-item>
                                <el-descriptions-item label="代号">{{ tableData[currentIndex].jarCode }}
                                </el-descriptions-item>
<!--                                <el-descriptions-item label="温度">{{ tableData[currentIndex].jarTemperature$ }}-->
<!--                                </el-descriptions-item>-->
<!--                                <el-descriptions-item label="压力">{{ tableData[currentIndex].jarPressure$ }}-->
<!--                                </el-descriptions-item>-->
                                <el-descriptions-item label="最大储量">{{ tableData[currentIndex].jarCount$ }}
                                </el-descriptions-item>
                                <el-descriptions-item label="故障代码">{{ tableData[currentIndex].jarErr }}
                                </el-descriptions-item>
<!--                                <el-descriptions-item label="最大储量">{{ tableData[currentIndex].jarCount$ }}-->
<!--                                </el-descriptions-item>-->
<!--                                <el-descriptions-item label="故障代码">{{ tableData[currentIndex].jarErr }}-->
<!--                                </el-descriptions-item>-->
                                <el-descriptions-item label="左门开门状态">{{ tableData[currentIndex].leftDoorOpen }}
                                </el-descriptions-item>
                                <el-descriptions-item label="左门关门状态">{{ tableData[currentIndex].leftDoorClose }}