自动化立体仓库 - WMS系统
123
zhang
3 天以前 21d0e7ab9d5c7316225a3e9eecf465cd37c9bd85
src/main/java/com/zy/common/web/WcsController.java
@@ -17,6 +17,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -82,21 +83,34 @@
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        StartupDto dto = null;
        switch (param.getIoType()) {
            case 1://满托盘入库
                assert waitPakins != null;
                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins);
                break;
            case 10://空托盘入库
                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
                break;
            case 103:// 拣料入库
            case 104:// 并板入库
            case 107:// 盘点入库
                dto = pickWrkPlateIn(param.getWrkNo(), param.getIoType(), param.getSourceStaNo(), locTypeDto);
                break;
            default:
                break;
        try{
            switch (param.getIoType()) {
                case 1://满托盘入库
                    assert waitPakins != null;
                    dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins);
                    break;
                case 10://空托盘入库
                    dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
                    break;
                case 103:// 拣料入库
                case 104:// 并板入库
                case 107:// 盘点入库
                    dto = pickWrkPlateIn(param.getWrkNo(), param.getIoType(), param.getSourceStaNo(), locTypeDto);
                    break;
                default:
                    break;
            }
        } catch (Exception e){
            String message = e.getMessage();
            if (message.contains("--")){
                String[] split = message.split("--");
                if (!Cools.isEmpty(split) && split.length>=2){
                    if (split[1].equals("1000")){
                        return R.parse(CodeRes.NONE_DETL_1000);
                    }
                }
            }
            return R.error().add(e.getMessage());
        }
        if (!Cools.isEmpty(dto) && param.getIoType()<11 && dto.getCrnNo().equals(0) && dto.getWorkNo().equals(9999) && dto.getStaNo().equals(1000)){
            return R.parse(CodeRes.NONE_DETL_1000);
@@ -115,7 +129,7 @@
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matNos, locTypeDto);
        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matNos, locTypeDto,waitPakins.get(0).getMatTypeIn());
        if ((dto.getSourceStaNo().equals(103) && dto.getCrnNo().equals(3)) || (dto.getSourceStaNo().equals(203) && dto.getCrnNo().equals(1))){
            dto.setWorkNo(9999);
            dto.setStaNo(1000);
@@ -166,6 +180,7 @@
            wrkDetl.setIoTime(wrkMast.getIoTime());
            wrkDetl.setAppeTime(now);
            wrkDetl.setModiTime(now);
            wrkDetl.setOrigin(waitPakin.getBatch());
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作明细失败");
            }
@@ -204,7 +219,7 @@
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto);
        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, locTypeDto,0);
        if ((dto.getSourceStaNo().equals(103) && dto.getCrnNo().equals(3)) || (dto.getSourceStaNo().equals(203) && dto.getCrnNo().equals(1))){
            dto.setWorkNo(9999);
            dto.setStaNo(1000);
@@ -273,7 +288,7 @@
        }
        // 检索库位
        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList());
        return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto); // 库位号, 堆垛机,目标站
        return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 库位号, 堆垛机,目标站
    }
}