| | |
| | | throw new CoolException("明细不存在");
|
| | | }
|
| | |
|
| | | OrderDetl orderDetl = orderDetlService.getById(detl.getOrderDetlId());
|
| | | if (orderDetl == null) {
|
| | | throw new CoolException("明细不存在");
|
| | | }
|
| | |
|
| | | TaskDetl taskDetl = new TaskDetl();
|
| | | taskDetl.sync(locDetl);
|
| | | taskDetl.setTaskId(task.getId());
|
| | |
| | | throw new CoolException("未生成波次");
|
| | | }
|
| | |
|
| | | Wave wave = waveService.getById(dto.getWaveId());
|
| | | if (Objects.isNull(wave)) {
|
| | | throw new CoolException("波次不存在");
|
| | | }
|
| | |
|
| | | List<OrderOutMergeParam> params = dto.getList();
|
| | |
|
| | | if (params.isEmpty()) {
|
| | | throw new CoolException("参数不能为空");
|
| | | }
|
| | |
|
| | | Long waveId = dto.getWaveId();
|
| | |
|
| | |
|
| | | // Long waveId = dto.getWaveId();
|
| | | // String waveNo = dto.getw
|
| | |
|
| | | List<Long> filterParamsList = new ArrayList<>();
|
| | | List<OrderOutMergeParam> filterParams = new ArrayList<>();
|
| | | for (OrderOutMergeParam param : params) {
|
| | | if (param.getLocId() == null) {
|
| | | continue;
|
| | | }
|
| | |
|
| | | if(!filterParamsList.contains(param.getLocId())){
|
| | | filterParamsList.add(param.getLocId());
|
| | | filterParams.add(param);
|
| | | params.forEach(action -> {
|
| | | if (action.getLocId() != null) {
|
| | | filterParamsList.add(action.getLocId());
|
| | | filterParams.add(action);
|
| | | }
|
| | | }
|
| | | });
|
| | |
|
| | | HashMap<String, Double> stockMap = new HashMap<>();
|
| | | for (OrderOutMergeParam param : filterParams) {
|
| | | String matUniqueKey = Utils.getMatUniqueKey(param.getMatnr(), param.getBatch(), param.getFieldParams());
|
| | | WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, waveId));
|
| | | WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, wave.getId()));
|
| | | if(waveDetl == null){
|
| | | throw new CoolException("波次数据不存在");
|
| | | }
|
| | |
| | | taskDetl.setTaskNo(task.getTaskNo());
|
| | | taskDetl.setAnfme(merge.getAnfme());
|
| | | taskDetl.setStock(locDetl.getAnfme());
|
| | | taskDetl.setWaveId(waveId);
|
| | | taskDetl.setWaveId(wave.getId());
|
| | | taskDetl.setWaveNo(wave.getWaveNo());
|
| | | taskDetl.setOrderId(null);
|
| | | taskDetl.setOrderNo(null);
|
| | | if (!taskDetlService.save(taskDetl)) {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | //TODO 确认后,需将注释打开
|
| | | String matUniqueKey = Utils.getMatUniqueKey(taskDetl.getMatnr(), taskDetl.getBatch(), taskDetl.getUniqueField());
|
| | | // WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, waveId));
|
| | | WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, waveId), false);
|
| | | WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, wave.getId()), false);
|
| | | if (waveDetl == null) {
|
| | | throw new CoolException("波次数据不存在");
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | //出库库存更新逻辑
|
| | | // List<Long> orderIds = dto.getList().stream().findFirst().get().getOrderIds();
|
| | | // List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, orderIds));
|
| | | // orderDetls.forEach(orderDetl -> {
|
| | | // orderUtils.updateWorkQty(orderDetl.getId(), orderDetl.getAnfme());
|
| | | // });
|
| | |
|
| | | //库位F => R
|
| | | loc.setLocStsId(LocStsType.R.val());
|
| | | loc.setUpdateTime(new Date());
|
| | |
| | | if(!locUpdate){
|
| | | throw new CoolException("库位状态更新失败");
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | Wave wave = waveService.getById(waveId);
|
| | | if (wave == null) {
|
| | | throw new CoolException("波次不存在");
|
| | | }
|
| | | // Wave wave = waveService.getById(dto.getWaveId());
|
| | | // if (wave == null) {
|
| | | // throw new CoolException("波次不存在");
|
| | | // }
|
| | |
|
| | | wave.setWaveStatus(WaveStatusType.GENERATE.id);
|
| | | wave.setUpdateTime(new Date());
|