自动化立体仓库 - 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,21 +53,22 @@
                    .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;
            }
            for (LocMast locMast1 : locMastList){
            String[] strings = staNoOther(locMast1.getLocNo());
            if (Cools.isEmpty(strings) || Cools.isEmpty(strings[0]) || Cools.isEmpty(strings[1])){
                return FAIL;
                    continue;
            }
            wrkMast.setLocNo(strings[0]);
            wrkMastOther.setLocNo(strings[1]);
@@ -79,11 +81,8 @@
            if (locMast.getLocSts().equals("O")){
                locMast.setLocSts("S"); // S.入库预约
                locMast.setModiTime(now);
                if (!locMastService.updateById(locMast)){
                    throw new CoolException("改变库位状态失败");
                }
            } else {
                throw new CoolException(locMast1.getLocNo()+"目标库位已被占用");
                    continue;
            }
@@ -92,16 +91,23 @@
            if (locMastOther.getLocSts().equals("O")){
                locMastOther.setLocSts("S"); // S.入库预约
                locMastOther.setModiTime(now);
                if (!locMastService.updateById(locMastOther)){
                    throw new CoolException("改变库位状态失败");
                }
            } else {
                throw new CoolException(locMast1.getLocNo()+"目标库位已被占用");
                    continue;
                }
                if (!locMastService.updateById(locMast)){
                    return FAIL;
                }
                if (!locMastService.updateById(locMastOther)){
                    return FAIL;
            }
            wrkMastService.updateById(wrkMast);
            wrkMastService.updateById(wrkMastOther);
            wrkMastCrnService.insert(wrkMastCrn);
                return SUCCESS;
            }
        }catch (Exception e){
            log.error("异常!!!"+e);