diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillImportDuplicateVO.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillImportDuplicateVO.java new file mode 100644 index 00000000..66dc148a --- /dev/null +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/vo/WaybillImportDuplicateVO.java @@ -0,0 +1,28 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + */ +package org.springblade.transport.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** 运单批量导入行与已有运单的重复情况。 */ +@Data +@Schema(description = "运单批量导入行与已有运单的重复情况") +public class WaybillImportDuplicateVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "行号(从0开始,相对当前批次)") + private Integer rowIndex; + + @Schema(description = "命中的已有运单号") + private List waybillNos = new ArrayList<>(); +} diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/VoucherManageController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/VoucherManageController.java index 69f53eb0..abcee864 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/VoucherManageController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/VoucherManageController.java @@ -135,9 +135,10 @@ public class VoucherManageController extends BladeController { @ApiOperationSupport(order = 7) @Operation(summary = "可关联运输批次") public R>> waybillBatches(Query query, @RequestParam(required = false) String batchNo, - @RequestParam(required = false) String createUser, @RequestParam(required = false) Integer waybillCount, - @RequestParam(required = false) String createTimeStart, @RequestParam(required = false) String createTimeEnd) { - return R.data(voucherManageService.selectableWaybillBatches(Condition.getPage(query), batchNo, createUser, waybillCount, createTimeStart, createTimeEnd)); + @RequestParam(required = false) Long projectId, @RequestParam(required = false) String createUser, + @RequestParam(required = false) Integer waybillCount, @RequestParam(required = false) String createTimeStart, + @RequestParam(required = false) String createTimeEnd) { + return R.data(voucherManageService.selectableWaybillBatches(Condition.getPage(query), batchNo, projectId, createUser, waybillCount, createTimeStart, createTimeEnd)); } @PostMapping("/audit-pass") diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/WaybillController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/WaybillController.java index 30af8573..c2c66d05 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/WaybillController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/WaybillController.java @@ -57,6 +57,7 @@ import org.springblade.transport.pojo.dto.WaybillImportBatchRequest; import org.springblade.transport.pojo.vo.BusinessRemoveResultVO; import org.springblade.transport.pojo.vo.LoadingManageVO; import org.springblade.transport.pojo.vo.WaybillImportBatchVO; +import org.springblade.transport.pojo.vo.WaybillImportDuplicateVO; import org.springblade.transport.pojo.vo.WaybillImportValidateResultVO; import org.springblade.transport.pojo.vo.WaybillLocateVO; import org.springblade.transport.pojo.vo.WaybillTrackVO; @@ -230,6 +231,13 @@ public class WaybillController extends BladeController { waybillImportBatchService.exportFailures(request, response); } + @PostMapping("/import-batch/duplicates") + @ApiOperationSupport(order = 6) + @Operation(summary = "查询与已有运单重复的导入行") + public R> checkImportDuplicates(@RequestBody WaybillImportBatchRequest request) { + return R.data(waybillImportBatchService.checkDuplicates(request)); + } + @PostMapping("/import-batch/confirm") @ApiOperationSupport(order = 7) @Operation(summary = "确认运单批量导入") diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.java index 86e7a57e..7c30968e 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.java @@ -13,8 +13,9 @@ import org.apache.ibatis.annotations.Delete; public interface VoucherWaybillBatchMapper extends BaseMapper { @Delete("DELETE FROM blade_voucher_waybill_batch WHERE voucher_id = #{voucherId}") int deletePhysicalByVoucherId(@Param("voucherId") Long voucherId); - IPage> selectVoucherWaybillBatchPage(IPage page, @Param("tenantId") String tenantId, @Param("batchNo") String batchNo, @Param("createUser") String createUser, - @Param("waybillCount") Integer waybillCount, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd, + IPage> selectVoucherWaybillBatchPage(IPage page, @Param("tenantId") String tenantId, @Param("batchNo") String batchNo, + @Param("projectId") Long projectId, @Param("createUser") String createUser, @Param("waybillCount") Integer waybillCount, + @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd, @Param("restrictCarrier") boolean restrictCarrier, @Param("carrierName") String carrierName); List> selectWaybillBatchesByIds(@Param("tenantId") String tenantId, @Param("ids") List ids, @Param("restrictCarrier") boolean restrictCarrier, @Param("carrierName") String carrierName); diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.xml b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.xml index 2eadd452..4b599bb5 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.xml +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/VoucherWaybillBatchMapper.xml @@ -4,12 +4,14 @@