自动化立体仓库 - WMS系统
lsh
9 天以前 ec31df17e69703fe561ca32bdce4cc09558e4662
src/main/java/com/zy/asrs/task/handler/WrkMastCrnHandler.java
@@ -20,6 +20,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
 * Created by Monkey D. Luffy on 2023.11.21
@@ -52,56 +53,61 @@
                    .eq("loc_sts", "O");
            int row1 = locMastService.selectCount(wrapper);
            int row2 = locMastService.selectCount(wrapperOther);
            LocMast locMast1 = null;
            List<LocMast> locMastList = null;
            if (row1>=row2){
                locMast1 = locMastService.selectOne(wrapper.orderBy("lev1", true)
                locMastList = locMastService.selectList(wrapper.orderBy("lev1", true)
                        .orderBy("bay1", true));
            }else {
                locMast1 = locMastService.selectOne(wrapperOther.orderBy("lev1", true)
                locMastList = locMastService.selectList(wrapperOther.orderBy("lev1", true)
                        .orderBy("bay1", true));
            }
            if (Cools.isEmpty(locMast1)){
            if (locMastList.isEmpty()){
                return FAIL;
            }
            String[] strings = staNoOther(locMast1.getLocNo());
            if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){
                return FAIL;
            }
            wrkMast.setLocNo(strings[0]);
            wrkMastOther.setLocNo(strings[1]);
            for (LocMast locMast1 : locMastList){
                String[] strings = staNoOther(locMast1.getLocNo());
                if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){
                    continue;
                }
                wrkMast.setLocNo(strings[0]);
                wrkMastOther.setLocNo(strings[1]);
            WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
                WrkMastCrn wrkMastCrn = new WrkMastCrn(wrkMast,wrkMastOther,now);
            // 更新目标库位状态
            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
            if (locMast.getLocSts().equals("O")){
                locMast.setLocSts("S"); // S.入库预约
                locMast.setModiTime(now);
                // 更新目标库位状态
                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
                if (locMast.getLocSts().equals("O")){
                    locMast.setLocSts("S"); // S.入库预约
                    locMast.setModiTime(now);
                } else {
                    continue;
                }
                // 更新目标库位状态
                LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo());
                if (locMastOther.getLocSts().equals("O")){
                    locMastOther.setLocSts("S"); // S.入库预约
                    locMastOther.setModiTime(now);
                } else {
                    continue;
                }
                if (!locMastService.updateById(locMast)){
                    throw new CoolException("改变库位状态失败");
                    return FAIL;
                }
            } else {
                throw new CoolException(locMast1.getLocNo()+"目标库位已被占用");
            }
            // 更新目标库位状态
            LocMast locMastOther = locMastService.selectById(wrkMastOther.getLocNo());
            if (locMastOther.getLocSts().equals("O")){
                locMastOther.setLocSts("S"); // S.入库预约
                locMastOther.setModiTime(now);
                if (!locMastService.updateById(locMastOther)){
                    throw new CoolException("改变库位状态失败");
                    return FAIL;
                }
            } else {
                throw new CoolException(locMast1.getLocNo()+"目标库位已被占用");
            }
            wrkMastService.updateById(wrkMast);
            wrkMastService.updateById(wrkMastOther);
                wrkMastService.updateById(wrkMast);
                wrkMastService.updateById(wrkMastOther);
            wrkMastCrnService.insert(wrkMastCrn);
                wrkMastCrnService.insert(wrkMastCrn);
                return SUCCESS;
            }
        }catch (Exception e){
            log.error("异常!!!"+e);