| | |
| | | @Override |
| | | @Transactional |
| | | public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl, |
| | | Double curOutQty, Integer ioType, Long userId, Date now) { |
| | | Double curOutQty, Integer ioType, Long userId, Date now) { |
| | | // 获取库位 |
| | | LocMast locMast = locMastService.selectById(locDetl.getLocNo()); |
| | | // 获取路径 |
| | |
| | | |
| | | /** |
| | | * SO/EO 区组托 |
| | | * @author Ryan |
| | | * @date 2025/12/18 15:19 |
| | | * |
| | | * @param params |
| | | * @return com.core.common.R |
| | | * @author Ryan |
| | | * @date 2025/12/18 15:19 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | if (!basStationDetlService.insert(basStationDetl)) { |
| | | throw new CoolException("插入明细失败"); |
| | | } |
| | | |
| | | } else { |
| | | BigDecimal anfme = new BigDecimal(basStationDetl.getAnfme().toString()).add(combMat.getWorkQty()); |
| | | basStationDetl.setAnfme(anfme.doubleValue()); |
| | |
| | | && wrkMast.getIoType().equals(TaskIOType.PICK_OUT.type)) { |
| | | throw new CoolException("人物类型错误"); |
| | | } |
| | | |
| | | wrkDetlService.selectList(new EntityWrapper<WrkDetl>() |
| | | .eq(!Objects.isNull(params.getMatnr()), "matnr", params.getMatnr()) |
| | | .eq("wrk_no", wrkMast.getWrkNo())); |
| | | |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); |
| | | if (Cools.isEmpty(wrkDetls)) { |
| | |
| | | throw new CoolException("保存工作明细失败"); |
| | | } |
| | | }); |
| | | |
| | | |
| | | |
| | | // // 更新入库通知档 ioStatus ===>> Y |
| | |
| | | WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no", locMast.getLocNo())); |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | if (Cools.isEmpty(wrkMast1)){ |
| | | if (Cools.isEmpty(wrkMast1)) { |
| | | Integer outSta = devp.getDevNo(); |
| | | // 获取路径 |
| | | StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); |
| | |
| | | if (!wrkMastService.insert(wrkMast)) { |
| | | throw new CoolException("保存工作档失败,出库库位号:" + locMast.getLocNo()); |
| | | } |
| | | }else { |
| | | } else { |
| | | workNo = wrkMast1.getWrkNo(); |
| | | } |
| | | // 生成工作档明细 |
| | |
| | | |
| | | /** |
| | | * 呼叫AGV空台车返回 |
| | | * @author Ryan |
| | | * @date 2025/9/24 |
| | | * |
| | | * @param callAgvBackParam |
| | | * @return com.core.common.R |
| | | * @author Ryan |
| | | * @date 2025/9/24 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | |
| | | // 按当前查找库位顺序,查到一个后,不再往下查询 |
| | | LocCache locCache = findPriorityLocCache(); |
| | | |
| | | |
| | | if (Objects.isNull(locCache)) { |
| | | return R.error("未查询到可用库位"); |
| | | } |