| | |
| | | * 根据不同库位类型生成出库拣货单或CTU任务档
|
| | | *
|
| | | * @param dto
|
| | | * @param wave
|
| | | * @param
|
| | | */
|
| | | private void outStockByArea(OrderOutMergeParamDto dto, Wave wave) {
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public void outStockByArea(OrderOutMergeParamDto dto, Wave wave) {
|
| | | List<OrderOutMergeParam> params = dto.getList();
|
| | | if (params.isEmpty()) {
|
| | | throw new CoolException("参数不能为空");
|
| | |
| | | }
|
| | |
|
| | | String matUniqueKey = Utils.getMatUniqueKey(taskDetl.getMatnr(), taskDetl.getBatch(), taskDetl.getUniqueField());
|
| | | WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, wave.getId()));
|
| | | logger.error("Matnr------>{}", taskDetl.getMatnr());
|
| | | WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>()
|
| | | .eq(WaveDetl::getStockIndex, matUniqueKey)
|
| | | .eq(WaveDetl::getWaveId, wave.getId()));
|
| | | if (waveDetl == null) {
|
| | | throw new CoolException("波次数据不存在");
|
| | | throw new CoolException("waveId:" + wave.getId() + "物料:" + taskDetl.getMatnr() + "波次数据不存在");
|
| | | }
|
| | | waveDetl.setWorkQty(waveDetl.getWorkQty() + taskDetl.getAnfme());
|
| | | waveDetl.setUpdateTime(new Date());
|