| | |
| | | if (!update) { |
| | | throw new CoolException("修改托盘资料档失败"); |
| | | } |
| | | // 更新货位库存明细 |
| | | LocDetl locDetl = new LocDetl(); |
| | | locDetl.setLocNo(node.getName()); |
| | | locDetl.setNodeId(node.getId()); |
| | | locDetl.setZpallet(param.getZpallet()); |
| | | locDetl.setAnfme(comb.getAnfme()); |
| | | VersionUtils.setLocDetl(locDetl, comb); |
| | | locDetl.setStatus(1); |
| | | locDetl.setCreateBy(userId); |
| | | locDetl.setCreateTime(now); |
| | | locDetl.setUpdateBy(userId); |
| | | locDetl.setUpdateTime(now); |
| | | boolean insert = locDetlService.insert(locDetl); |
| | | if (!insert) { |
| | | throw new CoolException("新增库存明细档失败"); |
| | | LocDetl locDetl = locDetlService.getLocDetl(node.getId(), comb.getMatnr()); |
| | | if (locDetl == null) { |
| | | // 更新货位库存明细 |
| | | locDetl = new LocDetl(); |
| | | locDetl.setLocNo(node.getName()); |
| | | locDetl.setNodeId(node.getId()); |
| | | locDetl.setZpallet(param.getZpallet()); |
| | | locDetl.setAnfme(comb.getAnfme()); |
| | | VersionUtils.setLocDetl(locDetl, comb); |
| | | locDetl.setStatus(1); |
| | | locDetl.setCreateBy(userId); |
| | | locDetl.setCreateTime(now); |
| | | locDetl.setUpdateBy(userId); |
| | | locDetl.setUpdateTime(now); |
| | | boolean insert = locDetlService.insert(locDetl); |
| | | if (!insert) { |
| | | throw new CoolException("新增库存明细档失败"); |
| | | } |
| | | } else { |
| | | if (!locDetlService.incrementStock(node.getId(), comb.getMatnr(), comb.getAnfme())) { |
| | | throw new CoolException("新增库存明细档失败"); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | return R.ok(); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R stockOutPreview(StockOutParam param, Long userId) { |
| | | List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>() |
| | | .eq("number", param.getNumber()) |
| | | .eq("status", 1) |
| | | ); |
| | | OrderStoDto dto = new OrderStoDto(); |
| | | dto.setNumber(param.getNumber()); |
| | | dto.setCustOrders(custOrders); |
| | | return R.ok().add(mainService.stockOutPreview(dto)); |
| | | } |
| | | |
| | | @Override |
| | | public R stockOut(StockOutParam param, Long userId) { |
| | | List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>() |
| | | .eq("number", param.getNumber()) |
| | |
| | | dto.setCustOrders(custOrders); |
| | | // 开始整理出库数据 |
| | | mainService.stockOutProcess(dto); |
| | | return R.ok(); |
| | | return R.ok("生成拣货单成功"); |
| | | } |
| | | |
| | | @Override |
| | |
| | | return R.error("保存数据失败"); |
| | | } |
| | | // todo:修改库存数量 |
| | | |
| | | // 修改单据状态 |
| | | if (!custOrderService.updateStatus(param.getNumber(), 4)) { |
| | | throw new CoolException("修改单据状态失败"); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R completePakout(String wrkNo, Long userId) { |
| | | Pakout pakout = pakoutService.selectOne(new EntityWrapper<Pakout>().eq("wrk_no", wrkNo)); |
| | | if (null != pakout) { |
| | | if (pakoutService.stockOutComplete(wrkNo, null, userId)) { |
| | | |
| | | boolean complete = true; |
| | | List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", pakout.getDocNum())); |
| | | for (Pakout item : pakouts) { |
| | | if (item.getWrkSts() != 3) { |
| | | complete = false; |
| | | break; |
| | | } |
| | | } |
| | | if (complete) { |
| | | // 修改单据状态 |
| | | if (!custOrderService.updateStatus(pakout.getDocNum(), 4)) { |
| | | throw new CoolException("修改单据状态失败"); |
| | | } |
| | | } |
| | | |
| | | return R.ok("拣货单已完成"); |
| | | } |
| | | } |
| | |
| | | if (!pakoutService.delete(new EntityWrapper<Pakout>().eq("wrk_no", pakout.getWrkNo()))) { |
| | | throw new CoolException("删除拣货单失败"); |
| | | } |
| | | |
| | | // 取消销售订单 |
| | | List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", pakout.getDocNum())); |
| | | if (Cools.isEmpty(pakouts)){ |
| | | // 修改单据状态 |
| | | if (!custOrderService.updateStatus(pakout.getDocNum(), 3)) { |
| | | throw new CoolException("修改单据状态失败"); |
| | | } |
| | | } |
| | | return R.ok("拣货单已取消"); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public R initOrder(InitOrderParam param, Long userId) { |
| | | if (custOrderService.selectCount(new EntityWrapper<CustOrder>().eq("number", param.getNumber())) > 0) { |
| | | if (custOrderService.selectCount(new EntityWrapper<CustOrder>().eq("number", param.getNumber()).ne("bType_id", param.getCustomerTypeId())) > 0) { |
| | | return R.error("抱歉单号已存在,请修改单号"); |
| | | } |
| | | Date now = new Date(); |