| | |
| | |
|
| | | import com.alibaba.fastjson.JSON;
|
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
| | | import com.zy.asrs.wms.asrs.entity.param.StockOutParam;
|
| | | import com.zy.asrs.framework.common.R;
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | | import com.zy.asrs.wms.asrs.entity.Order;
|
| | |
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | | import java.util.Objects;
|
| | |
|
| | |
|
| | | @RestController
|
| | |
| | | throw new CoolException("波次不能为空");
|
| | | }
|
| | |
|
| | | //获取出库订单
|
| | | List<Long> orderIds = new ArrayList<>();
|
| | | List<Order> orders = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getWaveId, waveId));
|
| | | for (Order order : orders) {
|
| | | orderIds.add(order.getId());
|
| | | }
|
| | |
|
| | | //获取订单波次明细
|
| | | List<MergePreviewDto> dtos = new ArrayList<>();
|
| | | List<WaveDetl> waveDetls = waveDetlService.list(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, waveId));
|
| | | for (WaveDetl waveDetl : waveDetls) {
|
| | | MergePreviewDto dto = new MergePreviewDto();
|
| | | dtos.add(dto);
|
| | |
|
| | | double anfme = waveDetl.getAnfme() - waveDetl.getWorkQty();
|
| | | double anfme = Math.round((waveDetl.getAnfme() - waveDetl.getWorkQty()) * 1000) / 1000.0;
|
| | | dto.setMatnr(waveDetl.getMatnr());
|
| | | dto.setBatch(waveDetl.getBatch());
|
| | | dto.setStatus(0);
|
| | | dto.setWorkQty(0.0);
|
| | | dto.setAnfme(anfme);
|
| | | dto.setOrderIds(orderIds);
|
| | | dto.setFieldParams(JSON.parseArray(waveDetl.getFieldParams(), FieldParam.class));
|
| | | dto.setFieldParamsEncode(waveDetl.getFieldParams());
|
| | | }
|
| | |
|
| | | //获取波次明细库位信息
|
| | | List<MergePreviewResultDto> resultDtos = outManage.orderOutMergeLocPreview(dtos);
|
| | | return R.ok().add(resultDtos);
|
| | | }
|
| | |
|
| | | @PostMapping("/out/orderOut/merge/wave")
|
| | | @OperationLog("波次合并订单出库")
|
| | | @OperationLog("生成波次任务")
|
| | | @Transactional
|
| | | public R orderOutMerge(@RequestBody OrderOutMergeParamDto param) {
|
| | | outManage.orderOutMergeWave(param);
|
| | | return R.ok();
|
| | | }
|
| | |
|
| | | @PostMapping("/out/locs/stock")
|
| | | @OperationLog("手动出库")
|
| | | public R stockOut(@RequestBody StockOutParam param) {
|
| | | if (Objects.isNull(param)) {
|
| | | throw new CoolException("参数不能为空!!");
|
| | | }
|
| | | outManage.outLocStock(param);
|
| | | return R.ok();
|
| | | }
|
| | |
|
| | | @PostMapping("/out/wave/generate")
|
| | | @OperationLog("生成波次")
|
| | | @Transactional
|