package com.zy.asrs.wms.asrs.controller; import com.zy.asrs.framework.common.R; import com.zy.asrs.wms.asrs.entity.dto.MergePreviewDto; import com.zy.asrs.wms.asrs.entity.dto.MergePreviewResultDto; import com.zy.asrs.wms.asrs.entity.dto.OrderOutBatchPreviewDto; import com.zy.asrs.wms.asrs.entity.param.OrderOutBatchPreviewParam; import com.zy.asrs.wms.asrs.entity.param.OrderOutMergeParam; import com.zy.asrs.wms.asrs.entity.param.OrderOutMergePreviewParam; import com.zy.asrs.wms.asrs.entity.param.OutParam; import com.zy.asrs.wms.asrs.manage.OutManage; import com.zy.asrs.wms.common.annotation.OperationLog; import com.zy.asrs.wms.system.controller.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/api") public class OutController extends BaseController { @Autowired private OutManage outManage; /** * 出库 */ @PostMapping("/out/start") @OperationLog("出库") @Transactional public R start(@RequestBody OutParam param) { outManage.out(param); return R.ok(); } @PostMapping("/out/orderOut/batch/preview") @OperationLog("批量出库预览") @Transactional public R orderOutBatchPreview(@RequestBody OrderOutBatchPreviewParam param) { List previewDtos = outManage.orderOutBatchPreview(param); return R.ok().add(previewDtos); } @PostMapping("/out/orderOut/batch") @OperationLog("批量出库") @Transactional public R orderOutBatch(@RequestBody List param) { outManage.orderOutBatch(param); return R.ok(); } @PostMapping("/out/orderOut/merge/preview") @OperationLog("预览合并订单") @Transactional public R orderOutMergePreview(@RequestBody OrderOutMergePreviewParam param) { List dtos = outManage.orderOutMergePreview(param); return R.ok().add(dtos); } @PostMapping("/out/orderOut/merge/loc/preview") @OperationLog("预览合并订单出库") @Transactional public R orderOutMergeLocPreview(@RequestBody List param) { List dtos = outManage.orderOutMergeLocPreview(param); return R.ok().add(dtos); } @PostMapping("/out/orderOut/merge") @OperationLog("合并订单出库") @Transactional public R orderOutMerge(@RequestBody List param) { outManage.orderOutMerge(param); return R.ok(); } @PostMapping("/out/wave/generate") @OperationLog("生成波次") @Transactional public R generateWave(@RequestBody List orderIds) { outManage.generateWave(orderIds); return R.ok(); } @PostMapping("/out/wave/cancel") @OperationLog("取消波次") @Transactional public R cancelWave(@RequestBody List waveIds) { outManage.cancelWave(waveIds); return R.ok(); } }