| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R WarehouseIn(String locNo, String barcode,Long hostId) { |
| | | public R WarehouseIn(String locNo, String barcode,Long hostId,Long userId) { |
| | | //判断库位状态 |
| | | LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, locNo).eq(LocMast::getHostId,hostId).eq(LocMast::getWhsType,1L)); |
| | | if (Cools.isEmpty(locMast)){ |
| | | return R.error("该库位不存在"); |
| | | } |
| | | if (!locMast.getLocSts().equals("O")){ |
| | | return R.error("该库位状态为:"+locMast.getLocSts()+",禁止入库"); |
| | | } |
| | | // if (!locMast.getLocSts().equals("O")){ |
| | | // return R.error("该库位状态为:"+locMast.getLocSts()+",禁止入库"); |
| | | // } |
| | | //查询组托数据 |
| | | List<WaitPakin> list = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getZpallet, barcode).eq(WaitPakin::getHostId, hostId)); |
| | | if (Cools.isEmpty(list)){ |
| | | return R.error("未找到组托信息"); |
| | | } |
| | | Date now = new Date(); |
| | | |
| | | //插入库存数据 |
| | | for (WaitPakin waitPakin: list){ |
| | | Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, waitPakin.getMatnr()).eq(Mat::getHostId, hostId)); |
| | | LocDetl locDetl = new LocDetl(); |
| | | locDetl.sync(mat); |
| | | locDetl.setLocNo(locNo); |
| | | //处理库存信息 |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | | Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>() |
| | | .eq(Mat::getMatnr, waitPakin.getMatnr()).eq(Mat::getHostId, hostId)); |
| | | LocDetl locDetl1=locDetlService.getOne(new LambdaQueryWrapper<LocDetl>() |
| | | .eq(LocDetl::getMatnr,waitPakin.getMatnr()) |
| | | .eq(LocDetl::getHostId,hostId) |
| | | .eq(LocDetl::getLocNo,locNo)); |
| | | double i=0.0; |
| | | if(!Cools.isEmpty(locDetl1)){ |
| | | i=locDetl1.getAnfme(); |
| | | locDetl1.setAnfme(locDetl1.getAnfme()+waitPakin.getAnfme()); |
| | | locDetlService.updateById(locDetl1); |
| | | adjDetl.setMatnr(locDetl1.getMatnr()); |
| | | adjDetl.setBatch(locDetl1.getBatch()); |
| | | adjDetl.setAdjQty(locDetl1.getAnfme()); |
| | | }else{ |
| | | LocDetl locDetl = new LocDetl(); |
| | | locDetl.sync(mat); |
| | | locDetl.setLocNo(locNo); |
| | | // locDetl.setBarcode(waitPakin.getBarcode()); |
| | | locDetl.setZpallet(waitPakin.getZpallet()); |
| | | locDetl.setAnfme(waitPakin.getAnfme()); |
| | | locDetl.setBatch(waitPakin.getBatch()); |
| | | locDetl.setZpallet(waitPakin.getZpallet()); |
| | | locDetl.setAnfme(waitPakin.getAnfme()); |
| | | locDetl.setBatch(waitPakin.getBatch()); |
| | | // locDetl.setWeight(waitPakin.getWeight()); |
| | | locDetl.setHostId(hostId); |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | locDetlService.save(locDetl); |
| | | locDetl.setHostId(hostId); |
| | | locDetl.setModiTime(now); |
| | | locDetl.setAppeTime(now); |
| | | locDetlService.save(locDetl); |
| | | adjDetl.setMatnr(locDetl.getMatnr()); |
| | | adjDetl.setBatch(locDetl.getBatch()); |
| | | adjDetl.setAdjQty(locDetl.getAnfme()); |
| | | } |
| | | |
| | | try { |
| | | |
| | | adjDetl.setLocNo(locNo); |
| | | adjDetl.setOriQty(i); |
| | | adjDetl.setMemo("平庫上架"); |
| | | adjDetl.setModiUser(userId); |
| | | adjDetl.setAppeUser(userId); |
| | | adjDetl.setAppeTime(new Date()); |
| | | adjDetl.setModiTime(new Date()); |
| | | adjDetl.setOrderNo(waitPakin.getOrderNo()); |
| | | if (!adjDetlService.save(adjDetl)) { |
| | | throw new CoolException("保存库存调整记录失败"); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | throw new CoolException("更新库存数据出错" + e.getMessage()); |
| | | } |
| | | |
| | | //是否属于订单数据 |
| | | if (!Cools.isEmpty(waitPakin.getOrderNo())){ |
| | | Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId); |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R WarehouseOut(CombParam combParam, Long hostId) { |
| | | public R WarehouseOut(CombParam combParam, Long hostId , Long userId) { |
| | | //判断库位状态 |
| | | LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId,hostId).eq(LocMast::getWhsType,1L)); |
| | | if (Cools.isEmpty(locMast)){ |
| | |
| | | .eq(LocDetl::getHostId, hostId) |
| | | .eq(LocDetl::getZpallet, combMat.getZpallet()) |
| | | .eq(LocDetl::getMatnr, combMat.getMatnr()) |
| | | .eq(LocDetl::getBatch, combMat.getBatch()) |
| | | // .eq(LocDetl::getBatch, combMat.getBatch()) |
| | | ); |
| | | if (Cools.isEmpty(locDetl)){ |
| | | return R.error("未查询到库存数据"); |
| | |
| | | continue; |
| | | } |
| | | if (orderDetl.getAnfme() < orderDetl.getWorkQty()+combMat.getAnfme()){ |
| | | throw new CoolException("下架数量出错"); |
| | | combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty()); |
| | | } |
| | | // 修改订单明细作业数量 |
| | | if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) { |
| | |
| | | orderService.checkComplete(combParam.getOrderNo(), hostId); |
| | | } |
| | | try { |
| | | double i=0.0; |
| | | double j=locDetl.getAnfme(); |
| | | //处理库存信息 |
| | | if (combMat.getAnfme().equals(locDetl.getAnfme())){ |
| | | //库存相等删除数据 |
| | |
| | | } |
| | | }else { |
| | | BigDecimal subtract = BigDecimal.valueOf(locDetl.getAnfme()).subtract(BigDecimal.valueOf(combMat.getAnfme())); |
| | | i=subtract.byteValue(); |
| | | locDetl.setAnfme(subtract.doubleValue()); |
| | | locDetlService.updateById(locDetl); |
| | | } |
| | | |
| | | try { |
| | | //处理库存信息 |
| | | AdjDetl adjDetl = new AdjDetl(); |
| | | adjDetl.setLocNo(locDetl.getLocNo()); |
| | | adjDetl.setMatnr(locDetl.getMatnr()); |
| | | adjDetl.setBatch(locDetl.getBatch()); |
| | | adjDetl.setOriQty(j); |
| | | adjDetl.setAdjQty(i); |
| | | adjDetl.setMemo("平庫下架"); |
| | | adjDetl.setModiUser(userId); |
| | | adjDetl.setAppeUser(userId); |
| | | adjDetl.setAppeTime(new Date()); |
| | | adjDetl.setModiTime(new Date()); |
| | | adjDetl.setOrderNo(combParam.getOrderNo()); |
| | | adjDetl.setHostId(hostId); |
| | | if (!adjDetlService.save(adjDetl)) { |
| | | throw new CoolException("保存库存调整记录失败"); |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | throw new CoolException("更新库存数据出错" + e.getMessage()); |
| | | } |
| | | }catch (Exception e){ |
| | | throw new CoolException("更新库存数据出错"+e.getMessage()); |
| | |
| | | adjDetl.setMatnr(locDetl.getMatnr()); |
| | | adjDetl.setBatch(locDetl.getBatch()); |
| | | adjDetl.setOriQty(locDetl.getAnfme()); |
| | | adjDetl.setMemo("WarehouseOutV1-pick"); |
| | | adjDetl.setMemo("并板途中拣料"); |
| | | adjDetl.setModiUser(userId); |
| | | adjDetl.setAppeUser(userId); |
| | | adjDetl.setAppeTime(new Date()); |
| | |
| | | adjDetl.setBatch(locDetl.getBatch()); |
| | | adjDetl.setOriQty(originAnfme); |
| | | adjDetl.setAdjQty(locDetl.getAnfme()); |
| | | adjDetl.setMemo("WarehouseOutV1-pick"); |
| | | adjDetl.setMemo("拣料途中并板"); |
| | | adjDetl.setModiUser(userId); |
| | | adjDetl.setAppeUser(userId); |
| | | adjDetl.setAppeTime(new Date()); |
| | |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |