自动化立体仓库 - WMS系统
qw
zc
2025-04-19 49dfa451ed700fe0d845be9f36d2b4302aff92be
src/main/java/com/zy/common/service/CommonService.java
@@ -59,6 +59,7 @@
    /**
     * 生成工作号
     *
     * @param wrkMk
     * @return workNo(工作号)
     */
@@ -139,7 +140,39 @@
                    log.error("站点={} 未查询到对应的规则",sourceStaNo);
                    break;
                case 4:
                    return getLocNoRun4(whsType,staDescId,sourceStaNo,matnr,batch,grade,4,locTypeDto,0,mixture);
                    //TODO zhangc 临时
                    List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                            .in("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
                            .eq("crn_no", 7)
                            .eq("loc_type1", locTypeDto.getLocType1())
                            .in("row1", 8).in("bay1", 1, 8).orderBy("row1"));
                    StartupDto startupDto = new StartupDto();
                    if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) {
                        // 获取目标站
                        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                                .eq("type_no", staDescId)
                                .eq("stn_no", sourceStaNo)
                                .eq("crn_no", 7);
                        StaDesc staDesc = staDescService.selectOne(wrapper);
                        if (Cools.isEmpty(staDesc)) {
                            log.error("入库路径不存在:type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, 7);
                        } else {
                            BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
                            if (!staNo.getAutoing().equals("Y")) {
                                log.error("目标站" + staDesc.getCrnStn() + "不可用");
                            }
                            startupDto.setStaNo(staNo.getDevNo());
                        }
                    }
                    // 生成工作号
                    int workNo = getWorkNo(0);
                    // 返回dto
                    startupDto.setWorkNo(workNo);
                    startupDto.setCrnNo(7);
                    startupDto.setSourceStaNo(sourceStaNo);
                    startupDto.setLocNo(locMasts.get(0).getLocNo());
                    return startupDto;
                //return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade, 4, locTypeDto, 0, mixture);
                case 5:
                    return getLocNoRun5(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
                case 6:
@@ -560,10 +593,10 @@
        }
        // 更新库位排号
        if (Utils.BooleanWhsTypeSta(rowLastno, staDescId) && Cools.isEmpty(locMast)) {
            rowLastno.setCurrentRow(curRow);
            rowLastnoService.updateById(rowLastno);
        }
//        if (Utils.BooleanWhsTypeSta(rowLastno, staDescId) && Cools.isEmpty(locMast)) {
//            rowLastno.setCurrentRow(curRow);
//            rowLastnoService.updateById(rowLastno);
//        }
        // 开始查找库位 ==============================>>
@@ -686,6 +719,7 @@
        startupDto.setLocNo(locNo);
        return startupDto;
    }
    public StartupDto getLocNoRun5(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
        if (Cools.isEmpty(matnr)) {  //物料号
            matnr = "";