自动化立体仓库 - WMS系统
#
yxFwq
2024-11-29 afb5071cedaee8c6db2f3bdd3fef6a3b1713f09e
src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
@@ -110,7 +110,7 @@
        return SUCCESS;
    }
    public ReturnT<String> start(WrkMast wrkMast) {
    public ReturnT<String> start(WrkMast wrkMast,boolean sign) {
        try {
            Date now = new Date();
            LocTypeDto locTypeDto = new LocTypeDto();
@@ -122,15 +122,27 @@
            }
            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()){
                if (!sign) {
                    RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMast.getStaNo()));
                    trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
                    rgvOneSignService.updateById(trunSma);
                }
                if (sign && (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;
                    }
                    int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).eq("wrk_sts",12L));
                    if (wrkCount+rgvOneSign.getRgvOneSign()>2){
                    RgvOneSign trunSma = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","TrunSma"+wrkMastOther.getStaNo()));
                    if (Cools.isEmpty(trunSma)){
                        return FAIL;
                    }
                    int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", wrkMastOther.getStaNo()).eq("wrk_sts",12L));
                    int wrkCountCrn = wrkMastCrnService.selectCount(new EntityWrapper<WrkMastCrn>().eq("sta_no", wrkMastOther.getStaNo()));
                    if (wrkCountCrn+wrkCount+rgvOneSign.getRgvOneSign()+trunSma.getRgvOneSign()>1){
                        return FAIL;
                    }
                    trunSma.setRgvOneSign(trunSma.getRgvOneSign()+1);
                    rgvOneSignService.updateById(trunSma);
                }
                WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
                wrkMastCrnService.insert(wrkMastCrn);