自动化立体仓库 - WMS系统
#
zjj
2025-03-24 86c69620f1bb3976f01b726d3d1804527474898f
#
4个文件已修改
85 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LocMastController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -18,11 +18,12 @@
import com.zy.common.entity.Parameter;
import com.zy.common.model.Shelves;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@Slf4j
@RestController
public class LocMastController extends BaseController {
@@ -92,6 +93,7 @@
    @RequestMapping(value = "/locMast/update/auth")
    @ManagerAuth(memo = "库位修改")
    public R update(LocMast locMast){
        log.info("库位状态修改:"+locMast.toString());
        if (locMast.getBay1() == 17 || locMast.getBay1() == 18){
            return R.error("17列和18列禁止修改");
        }
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -212,6 +212,10 @@
            assert ioType != null;
            // 获取库位
            LocMast locMast = locMastService.selectById(dto.getLocNo());
            //zc
            if (!locMast.getLocSts().equals("F")){
                throw new CoolException(locMast.getLocNo()+"该库位不是在库状态");
            }
            Integer outSta = staNo.getDevNo();
//            //2号堆垛机全板出库站指定为204站,拣料站指定为202
@@ -444,6 +448,10 @@
            if (Cools.isEmpty(locMast)) {
                throw new CoolException(locNo+"库位不存在");
            }
            //zc
            if (!locMast.getLocSts().equals("D")){
                throw new CoolException(locNo+"库位状态不对");
            }
            // 获取源站
            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                    .eq("type_no", 110)
@@ -588,6 +596,10 @@
        if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
            throw new CoolException("移转库位属于不同堆垛机");
        }
        //zc
        if (!loc.getLocSts().equals("F")){
            throw new CoolException(locNo+"库位状态不对");
        }
        Date now = new Date();
        // 获取工作号
        int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
src/main/java/com/zy/common/service/CommonService.java
@@ -19,6 +19,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
@@ -123,7 +124,7 @@
        }
        //搜索整个空库位组
        locMast = getLocNoStepSingle(locTypeDto,sourceStaNo);
        locMast = getLocNoStepSingle(locTypeDto, sourceStaNo);
        if (locMast != null) {
            //找到库位,返回dto
            return getLocNoStep6(staDescId, sourceStaNo, locMast);//返回dto
@@ -139,38 +140,54 @@
        LocMast locMast = null;
        List<StaDesc> staDescs = staDescService.selectList(new EntityWrapper<StaDesc>().eq("type_no", 1).eq("stn_no", sourceStaNo));
        int num = 0;
        int crn_no = 1;
        for (StaDesc staDesc : staDescs) {
            //单品
            List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), staDesc.getCrnNo());//搜索货物
            int temp = locMast == null ? 0 : locMasts.size();
            if (num <= temp) {
                num = temp;
                crn_no = staDesc.getCrnNo();
            }
        }
        //for (StaDesc staDesc : staDescs) {
        //单品
        List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), crn_no);//搜索货物
            for (LocMast mast : locMasts) {
                LocMast tmp = null;
                boolean groupLoc = Utils.isShallowLoc(slaveProperties, mast.getLocNo());
                if (groupLoc) {
                    String shallowLoc = Utils.getDeepLoc(slaveProperties, mast.getLocNo());
                    LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
                            .eq("loc_no", shallowLoc));
                    if (!Cools.isEmpty(locMast2)) {
                        if (locMast2.getLocSts().equals("F") || locMast2.getLocSts().equals("D")) {
                            tmp = mast;
                            if (!Cools.isEmpty(mast)) {
                                if (mast.getLocSts().equals("O")) {
                                    tmp = mast;
                                }
        for (LocMast mast : locMasts) {
            LocMast tmp = null;
            boolean groupLoc = Utils.isShallowLoc(slaveProperties, mast.getLocNo());
            if (groupLoc) {
                String shallowLoc = Utils.getDeepLoc(slaveProperties, mast.getLocNo());
                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
                        .eq("loc_no", shallowLoc));
                if (!Cools.isEmpty(locMast2)) {
                    if (locMast2.getLocSts().equals("F") || locMast2.getLocSts().equals("D")) {
                        tmp = mast;
                        if (!Cools.isEmpty(mast)) {
                            if (mast.getLocSts().equals("O")) {
                                tmp = mast;
                            }
                        }
                        //预留空库位
                        if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
                            locMast = tmp;
                            return locMast;
                        }
                    }
                    //预留空库位
                    if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
                        locMast = tmp;
                        return locMast;
                    }
                }
            } else {
                tmp = mast;
                //预留空库位
                if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
                    locMast = tmp;
                    return locMast;
                }
            }
            // }
        }
        return locMast;
    }
src/main/java/com/zy/common/web/WcsController.java
@@ -468,7 +468,9 @@
            wrkMast.setWrkSts(2L);
            wrkMast.setSourceStaNo(2106);
            wrkMast.setStaNo(staNo);
            wrkMast.setLocNo(wrkMast.getSourceLocNo());
            wrkMast.setLocNo(wrkMast.getSourceLocNo(
            ));
            wrkMast.setSourceLocNo("");
            wrkMast.setModiTime(now);
            if (!wrkMastService.updateById(wrkMast)) {