From db28bab895d1a8a4f4e16f72b19c105099fe44b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 21 Jan 2026 09:56:49 +0800 Subject: [PATCH] =?UTF-8?q?WMS=E5=85=A5=E5=BA=93=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/InMaterialDetail.java | 85 ++++++++++++++++ .../repository/po/InMaterialDetailPO.java | 85 ++++++++++++++++ .../repository/todo/InMaterialDetailDO.java | 85 ++++++++++++++++ .../stockInOrder/entity/StockInOrder.java | 99 +++++++++++++++++++ .../repository/po/StockInOrderPO.java | 99 +++++++++++++++++++ .../repository/todo/StockInOrderDO.java | 99 +++++++++++++++++++ .../service/StockInOrderDomainService.java | 37 +++++++ .../inMaterialDetail/InMaterialDetailDTO.java | 85 ++++++++++++++++ .../dto/stockInOrder/StockInOrderDTO.java | 99 +++++++++++++++++++ .../InMaterialDetailMapper.xml | 26 ++++- .../stockInOrder/StockInOrderMapper.xml | 29 +++++- 11 files changed, 826 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java index 9f0cfe107..06cf1aaee 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/entity/InMaterialDetail.java @@ -251,4 +251,89 @@ public class InMaterialDetail extends BaseVOEntity { @ApiModelProperty("越库类型:1-直接越库 2-分拨越库") @Excel(name = "越库类型:1-直接越库 2-分拨越库") private Long overStockType; + + // ========== 报关相关明细字段 ========== + @ApiModelProperty("规格型号/ITEM") + @Excel(name = "规格型号/ITEM") + private String specification; + + @ApiModelProperty("商品SKU码") + @Excel(name = "商品SKU码") + private String skuCode; + + @ApiModelProperty("Invoice No.") + @Excel(name = "Invoice No.") + private String invoiceNo; + + @ApiModelProperty("升") + @Excel(name = "升") + private BigDecimal liter; + + @ApiModelProperty("尺寸") + @Excel(name = "尺寸") + private String dimensions; + + @ApiModelProperty("申报单位") + @Excel(name = "申报单位") + private String declaredUnit; + + @ApiModelProperty("Batch Ref NO's") + @Excel(name = "Batch Ref NO's") + private String batchRefNo; + + @ApiModelProperty("Sheet Ref NO's") + @Excel(name = "Sheet Ref NO's") + private String sheetRefNo; + + @ApiModelProperty("原产国") + @Excel(name = "原产国") + private String countryOfOrigin; + + @ApiModelProperty("箱号/卡板号") + @Excel(name = "箱号/卡板号") + private String boxPalletNo; + + @ApiModelProperty("币制") + @Excel(name = "币制") + private String currency; + + @ApiModelProperty("单位") + @Excel(name = "单位") + private String unit; + + @ApiModelProperty("申报数量") + @Excel(name = "申报数量") + private BigDecimal declaredQuantity; + + @ApiModelProperty("箱数") + @Excel(name = "箱数") + private BigDecimal boxCount; + + @ApiModelProperty("件数") + @Excel(name = "件数") + private BigDecimal pieceCount; + + @ApiModelProperty("出库数量") + @Excel(name = "出库数量") + private BigDecimal outboundQuantity; + + @ApiModelProperty("总净重(KG)") + @Excel(name = "总净重(KG)") + private BigDecimal totalNetWeight; + + @ApiModelProperty("总毛重(KG)") + @Excel(name = "总毛重(KG)") + private BigDecimal totalGrossWeight; + + @ApiModelProperty("总体积(CBM)") + @Excel(name = "总体积(CBM)") + private BigDecimal totalVolume; + + @ApiModelProperty("总面积(SQM)") + @Excel(name = "总面积(SQM)") + private BigDecimal totalArea; + + @ApiModelProperty("总价") + @Excel(name = "总价") + private BigDecimal totalPrice; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java index 050894b61..b0151f378 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/po/InMaterialDetailPO.java @@ -263,4 +263,89 @@ public class InMaterialDetailPO extends StockInOrderBasePO { @Excel(name = "越库类型:1-直接越库 2-分拨越库") private Long overStockType; + // ========== 报关相关明细字段 ========== + @ApiModelProperty("规格型号/ITEM") + @Excel(name = "规格型号/ITEM") + private String specification; + + @ApiModelProperty("商品SKU码") + @Excel(name = "商品SKU码") + private String skuCode; + + @ApiModelProperty("Invoice No.") + @Excel(name = "Invoice No.") + private String invoiceNo; + + @ApiModelProperty("升") + @Excel(name = "升") + private BigDecimal liter; + + @ApiModelProperty("尺寸") + @Excel(name = "尺寸") + private String dimensions; + + @ApiModelProperty("申报单位") + @Excel(name = "申报单位") + private String declaredUnit; + + @ApiModelProperty("Batch Ref NO's") + @Excel(name = "Batch Ref NO's") + private String batchRefNo; + + @ApiModelProperty("Sheet Ref NO's") + @Excel(name = "Sheet Ref NO's") + private String sheetRefNo; + + @ApiModelProperty("原产国") + @Excel(name = "原产国") + private String countryOfOrigin; + + @ApiModelProperty("箱号/卡板号") + @Excel(name = "箱号/卡板号") + private String boxPalletNo; + + @ApiModelProperty("币制") + @Excel(name = "币制") + private String currency; + + @ApiModelProperty("单位") + @Excel(name = "单位") + private String unit; + + @ApiModelProperty("申报数量") + @Excel(name = "申报数量") + private BigDecimal declaredQuantity; + + @ApiModelProperty("箱数") + @Excel(name = "箱数") + private BigDecimal boxCount; + + @ApiModelProperty("件数") + @Excel(name = "件数") + private BigDecimal pieceCount; + + @ApiModelProperty("出库数量") + @Excel(name = "出库数量") + private BigDecimal outboundQuantity; + + @ApiModelProperty("总净重(KG)") + @Excel(name = "总净重(KG)") + private BigDecimal totalNetWeight; + + @ApiModelProperty("总毛重(KG)") + @Excel(name = "总毛重(KG)") + private BigDecimal totalGrossWeight; + + @ApiModelProperty("总体积(CBM)") + @Excel(name = "总体积(CBM)") + private BigDecimal totalVolume; + + @ApiModelProperty("总面积(SQM)") + @Excel(name = "总面积(SQM)") + private BigDecimal totalArea; + + @ApiModelProperty("总价") + @Excel(name = "总价") + private BigDecimal totalPrice; + } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java index 785b6dbde..4372d379f 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inMaterialDetail/repository/todo/InMaterialDetailDO.java @@ -258,4 +258,89 @@ public class InMaterialDetailDO extends StockInOrderBaseDO { @ApiModelProperty("入库单号集合") @Excel(name = "入库单号集合") private List inOrderNumberList; + + // ========== 报关相关明细字段 ========== + @ApiModelProperty("规格型号/ITEM(选择物料后自动带出,不可编辑)") + @Excel(name = "规格型号/ITEM") + private String specification; + + @ApiModelProperty("商品SKU码(选择物料后自动带出,不可编辑)") + @Excel(name = "商品SKU码") + private String skuCode; + + @ApiModelProperty("Invoice No.") + @Excel(name = "Invoice No.") + private String invoiceNo; + + @ApiModelProperty("升(输入大于等于0的数字,可以为小数)") + @Excel(name = "升") + private BigDecimal liter; + + @ApiModelProperty("尺寸") + @Excel(name = "尺寸") + private String dimensions; + + @ApiModelProperty("申报单位") + @Excel(name = "申报单位") + private String declaredUnit; + + @ApiModelProperty("Batch Ref NO's") + @Excel(name = "Batch Ref NO's") + private String batchRefNo; + + @ApiModelProperty("Sheet Ref NO's") + @Excel(name = "Sheet Ref NO's") + private String sheetRefNo; + + @ApiModelProperty("原产国") + @Excel(name = "原产国") + private String countryOfOrigin; + + @ApiModelProperty("箱号/卡板号") + @Excel(name = "箱号/卡板号") + private String boxPalletNo; + + @ApiModelProperty("币制") + @Excel(name = "币制") + private String currency; + + @ApiModelProperty("单位(数据字典下拉选择框)") + @Excel(name = "单位") + private String unit; + + @ApiModelProperty("申报数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "申报数量") + private BigDecimal declaredQuantity; + + @ApiModelProperty("箱数(输入大于等于0的数字,可以为小数)") + @Excel(name = "箱数") + private BigDecimal boxCount; + + @ApiModelProperty("件数(输入大于等于0的数字,可以为小数)") + @Excel(name = "件数") + private BigDecimal pieceCount; + + @ApiModelProperty("出库数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "出库数量") + private BigDecimal outboundQuantity; + + @ApiModelProperty("总净重(KG)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总净重(KG)") + private BigDecimal totalNetWeight; + + @ApiModelProperty("总毛重(KG)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总毛重(KG)") + private BigDecimal totalGrossWeight; + + @ApiModelProperty("总体积(CBM)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总体积(CBM)") + private BigDecimal totalVolume; + + @ApiModelProperty("总面积(SQM)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总面积(SQM)") + private BigDecimal totalArea; + + @ApiModelProperty("总价(输入大于等于0的数字,可以为小数)") + @Excel(name = "总价") + private BigDecimal totalPrice; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java index 9dfbca118..96a828d50 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/entity/StockInOrder.java @@ -225,4 +225,103 @@ public class StockInOrder extends BaseVOEntity { @ApiModelProperty("越库类型:1-直接越库 2-分拨越库") @Excel(name = "越库类型:1-直接越库 2-分拨越库") private Long overStockType; + + // ========== 报关相关字段 ========== + @ApiModelProperty("To") + @Excel(name = "To") + private String to; + + @ApiModelProperty("联系人") + @Excel(name = "联系人") + private String contactPerson; + + @ApiModelProperty("车型及车牌") + @Excel(name = "车型及车牌") + private String vehicleInfo; + + @ApiModelProperty("委托编号NO") + @Excel(name = "委托编号NO") + private String consignmentNo; + + @ApiModelProperty("Tel") + @Excel(name = "Tel") + private String tel; + + @ApiModelProperty("司机签名") + @Excel(name = "司机签名") + private String driverSignature; + + @ApiModelProperty("Fax") + @Excel(name = "Fax") + private String fax; + + @ApiModelProperty("申报地关区") + @Excel(name = "申报地关区") + private String declarationArea; + + @ApiModelProperty("生产商") + @Excel(name = "生产商") + private String manufacturer; + + @ApiModelProperty("报关员姓名及联系方式") + @Excel(name = "报关员姓名及联系方式") + private String customsBrokerInfo; + + @ApiModelProperty("送货地址") + @Excel(name = "送货地址") + private String deliveryAddress; + + @ApiModelProperty("进出境关别") + @Excel(name = "进出境关别") + private String entryExitCustoms; + + @ApiModelProperty("起运/运抵国(地区)") + @Excel(name = "起运/运抵国(地区)") + private String originDestinationCountry; + + @ApiModelProperty("承运商") + @Excel(name = "承运商") + private String carrier; + + @ApiModelProperty("柜号") + @Excel(name = "柜号") + private String containerNo; + + @ApiModelProperty("运输方式") + @Excel(name = "运输方式") + private String transportMethod; + + @ApiModelProperty("监管方式") + @Excel(name = "监管方式") + private String supervisionMethod; + + @ApiModelProperty("海关是否查验货物") + @Excel(name = "海关是否查验货物") + private String customsInspection; + + @ApiModelProperty("是否需要报关") + @Excel(name = "是否需要报关") + private String needCustomsDeclaration; + + @ApiModelProperty("是否需要运输") + @Excel(name = "是否需要运输") + private String needTransport; + + @ApiModelProperty("入仓日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "入仓日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date warehouseDate; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date completionTime; + + @ApiModelProperty("下单日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date orderDate; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java index e2500ede3..41ba08818 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/po/StockInOrderPO.java @@ -226,4 +226,103 @@ public class StockInOrderPO extends BaseVOEntity { @ApiModelProperty("越库类型:1-直接越库 2-分拨越库") @Excel(name = "越库类型:1-直接越库 2-分拨越库") private Long overStockType; + + // ========== 报关相关字段 ========== + @ApiModelProperty("To") + @Excel(name = "To") + private String to; + + @ApiModelProperty("联系人") + @Excel(name = "联系人") + private String contactPerson; + + @ApiModelProperty("车型及车牌") + @Excel(name = "车型及车牌") + private String vehicleInfo; + + @ApiModelProperty("委托编号NO") + @Excel(name = "委托编号NO") + private String consignmentNo; + + @ApiModelProperty("Tel") + @Excel(name = "Tel") + private String tel; + + @ApiModelProperty("司机签名") + @Excel(name = "司机签名") + private String driverSignature; + + @ApiModelProperty("Fax") + @Excel(name = "Fax") + private String fax; + + @ApiModelProperty("申报地关区") + @Excel(name = "申报地关区") + private String declarationArea; + + @ApiModelProperty("生产商") + @Excel(name = "生产商") + private String manufacturer; + + @ApiModelProperty("报关员姓名及联系方式") + @Excel(name = "报关员姓名及联系方式") + private String customsBrokerInfo; + + @ApiModelProperty("送货地址") + @Excel(name = "送货地址") + private String deliveryAddress; + + @ApiModelProperty("进出境关别") + @Excel(name = "进出境关别") + private String entryExitCustoms; + + @ApiModelProperty("起运/运抵国(地区)") + @Excel(name = "起运/运抵国(地区)") + private String originDestinationCountry; + + @ApiModelProperty("承运商") + @Excel(name = "承运商") + private String carrier; + + @ApiModelProperty("柜号") + @Excel(name = "柜号") + private String containerNo; + + @ApiModelProperty("运输方式") + @Excel(name = "运输方式") + private String transportMethod; + + @ApiModelProperty("监管方式") + @Excel(name = "监管方式") + private String supervisionMethod; + + @ApiModelProperty("海关是否查验货物") + @Excel(name = "海关是否查验货物") + private String customsInspection; + + @ApiModelProperty("是否需要报关") + @Excel(name = "是否需要报关") + private String needCustomsDeclaration; + + @ApiModelProperty("是否需要运输") + @Excel(name = "是否需要运输") + private String needTransport; + + @ApiModelProperty("入仓日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "入仓日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date warehouseDate; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date completionTime; + + @ApiModelProperty("下单日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date orderDate; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java index f987d9e92..c5b454c6b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/repository/todo/StockInOrderDO.java @@ -241,4 +241,103 @@ public class StockInOrderDO extends BaseVOEntity { @ApiModelProperty("调度单号") private String mobilizeCode; + + // ========== 报关相关字段 ========== + @ApiModelProperty("To") + @Excel(name = "To") + private String to; + + @ApiModelProperty("联系人") + @Excel(name = "联系人") + private String contactPerson; + + @ApiModelProperty("车型及车牌") + @Excel(name = "车型及车牌") + private String vehicleInfo; + + @ApiModelProperty("委托编号NO") + @Excel(name = "委托编号NO") + private String consignmentNo; + + @ApiModelProperty("Tel") + @Excel(name = "Tel") + private String tel; + + @ApiModelProperty("司机签名") + @Excel(name = "司机签名") + private String driverSignature; + + @ApiModelProperty("Fax") + @Excel(name = "Fax") + private String fax; + + @ApiModelProperty("申报地关区") + @Excel(name = "申报地关区") + private String declarationArea; + + @ApiModelProperty("生产商") + @Excel(name = "生产商") + private String manufacturer; + + @ApiModelProperty("报关员姓名及联系方式") + @Excel(name = "报关员姓名及联系方式") + private String customsBrokerInfo; + + @ApiModelProperty("送货地址") + @Excel(name = "送货地址") + private String deliveryAddress; + + @ApiModelProperty("进出境关别") + @Excel(name = "进出境关别") + private String entryExitCustoms; + + @ApiModelProperty("起运/运抵国(地区)") + @Excel(name = "起运/运抵国(地区)") + private String originDestinationCountry; + + @ApiModelProperty("承运商(先做成输入框,待定)") + @Excel(name = "承运商") + private String carrier; + + @ApiModelProperty("柜号(数据字典:20尺/40尺)") + @Excel(name = "柜号") + private String containerNo; + + @ApiModelProperty("运输方式(数据字典:公路运输/其他运输)") + @Excel(name = "运输方式") + private String transportMethod; + + @ApiModelProperty("监管方式(数据字典:一般贸易)") + @Excel(name = "监管方式") + private String supervisionMethod; + + @ApiModelProperty("海关是否查验货物(默认:否)") + @Excel(name = "海关是否查验货物") + private String customsInspection; + + @ApiModelProperty("是否需要报关(默认:是)") + @Excel(name = "是否需要报关") + private String needCustomsDeclaration; + + @ApiModelProperty("是否需要运输(默认:否)") + @Excel(name = "是否需要运输") + private String needTransport; + + @ApiModelProperty("入仓日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "入仓日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date warehouseDate; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date completionTime; + + @ApiModelProperty("下单日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date orderDate; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java index 8cf860dbd..0b04d26fa 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockInOrder/service/StockInOrderDomainService.java @@ -84,6 +84,8 @@ public class StockInOrderDomainService { @Transactional(rollbackFor = Exception.class) public Boolean insert(StockInOrderDO stockInOrderDO) { stockInOrderDO.setInOrderNumber(OrderSequence.getOrderCode("RK")); + //设置默认值 + setDefaultValues(stockInOrderDO); //设置物料信息 setMaterialDetailInfo(stockInOrderDO); //统计总物料种数 @@ -385,7 +387,42 @@ public class StockInOrderDomainService { inMaterialDetailDO.setDistributeRuleId(materialGoodsRulePO.getMaterialGoodsRuleId()); inMaterialDetailDO.setDistributeRuleCode(materialGoodsRulePO.getRuleCode()); inMaterialDetailDO.setDistributeRuleName(materialGoodsRulePO.getRuleName()); + + //自动填充规格型号和SKU码(如果物料基础信息中有相关字段且明细中未设置) + //规格型号:优先使用物料种类名称,如果为空则使用物料类型名称 + if (StringUtils.isBlank(inMaterialDetailDO.getSpecification())) { + if (StringUtils.isNotBlank(materialBaseInfoPO.getMaterialTypeName())) { + inMaterialDetailDO.setSpecification(materialBaseInfoPO.getMaterialTypeName()); + } + } + //商品SKU码:使用物料条形码 + if (StringUtils.isBlank(inMaterialDetailDO.getSkuCode())) { + if (StringUtils.isNotBlank(materialBaseInfoPO.getBarCode())) { + inMaterialDetailDO.setSkuCode(materialBaseInfoPO.getBarCode()); + } + } }); } + /** + * @description 设置默认值 + * @author gen + * @date 2026/1/16 + * @param stockInOrderDO + */ + private void setDefaultValues(StockInOrderDO stockInOrderDO) { + //海关是否查验货物(默认:否) + if (StringUtils.isBlank(stockInOrderDO.getCustomsInspection())) { + stockInOrderDO.setCustomsInspection("否"); + } + //是否需要报关(默认:是) + if (StringUtils.isBlank(stockInOrderDO.getNeedCustomsDeclaration())) { + stockInOrderDO.setNeedCustomsDeclaration("是"); + } + //是否需要运输(默认:否) + if (StringUtils.isBlank(stockInOrderDO.getNeedTransport())) { + stockInOrderDO.setNeedTransport("否"); + } + } + } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java index 8a9198aed..b00a29dc7 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inMaterialDetail/InMaterialDetailDTO.java @@ -263,4 +263,89 @@ public class InMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("是否是差异单") private Integer isDifferentType; + // ========== 报关相关明细字段 ========== + @ApiModelProperty("规格型号/ITEM(选择物料后自动带出,不可编辑)") + @Excel(name = "规格型号/ITEM") + private String specification; + + @ApiModelProperty("商品SKU码(选择物料后自动带出,不可编辑)") + @Excel(name = "商品SKU码") + private String skuCode; + + @ApiModelProperty("Invoice No.") + @Excel(name = "Invoice No.") + private String invoiceNo; + + @ApiModelProperty("升(输入大于等于0的数字,可以为小数)") + @Excel(name = "升") + private BigDecimal liter; + + @ApiModelProperty("尺寸") + @Excel(name = "尺寸") + private String dimensions; + + @ApiModelProperty("申报单位") + @Excel(name = "申报单位") + private String declaredUnit; + + @ApiModelProperty("Batch Ref NO's") + @Excel(name = "Batch Ref NO's") + private String batchRefNo; + + @ApiModelProperty("Sheet Ref NO's") + @Excel(name = "Sheet Ref NO's") + private String sheetRefNo; + + @ApiModelProperty("原产国") + @Excel(name = "原产国") + private String countryOfOrigin; + + @ApiModelProperty("箱号/卡板号") + @Excel(name = "箱号/卡板号") + private String boxPalletNo; + + @ApiModelProperty("币制") + @Excel(name = "币制") + private String currency; + + @ApiModelProperty("单位(数据字典下拉选择框)") + @Excel(name = "单位") + private String unit; + + @ApiModelProperty("申报数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "申报数量") + private BigDecimal declaredQuantity; + + @ApiModelProperty("箱数(输入大于等于0的数字,可以为小数)") + @Excel(name = "箱数") + private BigDecimal boxCount; + + @ApiModelProperty("件数(输入大于等于0的数字,可以为小数)") + @Excel(name = "件数") + private BigDecimal pieceCount; + + @ApiModelProperty("出库数量(输入大于等于0的数字,可以为小数)") + @Excel(name = "出库数量") + private BigDecimal outboundQuantity; + + @ApiModelProperty("总净重(KG)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总净重(KG)") + private BigDecimal totalNetWeight; + + @ApiModelProperty("总毛重(KG)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总毛重(KG)") + private BigDecimal totalGrossWeight; + + @ApiModelProperty("总体积(CBM)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总体积(CBM)") + private BigDecimal totalVolume; + + @ApiModelProperty("总面积(SQM)(输入大于等于0的数字,可以为小数)") + @Excel(name = "总面积(SQM)") + private BigDecimal totalArea; + + @ApiModelProperty("总价(输入大于等于0的数字,可以为小数)") + @Excel(name = "总价") + private BigDecimal totalPrice; + } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java index 3002d1e36..49ed364e8 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockInOrder/StockInOrderDTO.java @@ -237,4 +237,103 @@ public class StockInOrderDTO extends StockInOrderBaseDTO { @ApiModelProperty("小于入库单审核状态: 1-未审核 2-审核不通过 3-审核通过") @Excel(name = "小于入库单审核状态: 1-未审核 2-审核不通过 3-审核通过") private Integer gtAuditStatus; + + // ========== 报关相关字段 ========== + @ApiModelProperty("To") + @Excel(name = "To") + private String to; + + @ApiModelProperty("联系人") + @Excel(name = "联系人") + private String contactPerson; + + @ApiModelProperty("车型及车牌") + @Excel(name = "车型及车牌") + private String vehicleInfo; + + @ApiModelProperty("委托编号NO") + @Excel(name = "委托编号NO") + private String consignmentNo; + + @ApiModelProperty("Tel") + @Excel(name = "Tel") + private String tel; + + @ApiModelProperty("司机签名") + @Excel(name = "司机签名") + private String driverSignature; + + @ApiModelProperty("Fax") + @Excel(name = "Fax") + private String fax; + + @ApiModelProperty("申报地关区") + @Excel(name = "申报地关区") + private String declarationArea; + + @ApiModelProperty("生产商") + @Excel(name = "生产商") + private String manufacturer; + + @ApiModelProperty("报关员姓名及联系方式") + @Excel(name = "报关员姓名及联系方式") + private String customsBrokerInfo; + + @ApiModelProperty("送货地址") + @Excel(name = "送货地址") + private String deliveryAddress; + + @ApiModelProperty("进出境关别") + @Excel(name = "进出境关别") + private String entryExitCustoms; + + @ApiModelProperty("起运/运抵国(地区)") + @Excel(name = "起运/运抵国(地区)") + private String originDestinationCountry; + + @ApiModelProperty("承运商(先做成输入框,待定)") + @Excel(name = "承运商") + private String carrier; + + @ApiModelProperty("柜号(数据字典:20尺/40尺)") + @Excel(name = "柜号") + private String containerNo; + + @ApiModelProperty("运输方式(数据字典:公路运输/其他运输)") + @Excel(name = "运输方式") + private String transportMethod; + + @ApiModelProperty("监管方式(数据字典:一般贸易)") + @Excel(name = "监管方式") + private String supervisionMethod; + + @ApiModelProperty("海关是否查验货物(默认:否)") + @Excel(name = "海关是否查验货物") + private String customsInspection; + + @ApiModelProperty("是否需要报关(默认:是)") + @Excel(name = "是否需要报关") + private String needCustomsDeclaration; + + @ApiModelProperty("是否需要运输(默认:否)") + @Excel(name = "是否需要运输") + private String needTransport; + + @ApiModelProperty("入仓日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "入仓日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date warehouseDate; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date completionTime; + + @ApiModelProperty("下单日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @Excel(name = "下单日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date orderDate; } diff --git a/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml b/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml index 07553eb42..2a9eea0d8 100644 --- a/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml +++ b/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml @@ -52,6 +52,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + @@ -64,7 +85,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.overcharge_ratio, a.batch_number, a.material_status_code, a.material_status_name, a.distribute_rule_id, a.distribute_rule_code, a.distribute_rule_name, a.container_id, a.container_code, a.container_type, a.container_type_name, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.storage_section_id, a.storage_code, a.storage_name, a.storage_location_id, a.storage_location_code, a.storage_location_name, - a.level, a.parent_unique_id, a.remark, a.create_time, a.create_by,a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type + a.level, a.parent_unique_id, a.remark, a.create_time, a.create_by,a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, a.over_stock_id, a.over_stock_status, a.over_stock_type, + a.SPECIFICATION, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARED_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO, + a.COUNTRY_OF_ORIGIN, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.OUTBOUND_QUANTITY, + a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE ,CASE WHEN (a.quantity - a.receipt_quantity) < 0 THEN 0 ELSE (a.quantity - a.receipt_quantity) diff --git a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml index f42e5aec3..205bf6bc6 100644 --- a/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockInOrder/StockInOrderMapper.xml @@ -54,6 +54,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + + + @@ -63,7 +86,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.shipper_name, a.order_type_code, a.order_type_name, a.supplier_id, a.supplier_code, a.supplier_name, a.expect_time, a.supply_chain_number, a.priority_level_code, a.priority_level_name, a.direct_warehouse, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name, a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.remark, a.create_time, a.create_by, - a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type + a.create_by_name, a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type, + a."TO", a.CONTACT_PERSON, a.VEHICLE_INFO, a.CONSIGNMENT_NO, a.TEL, a.DRIVER_SIGNATURE, a.FAX, a.DECLARATION_AREA, a.MANUFACTURER, + a.CUSTOMS_BROKER_INFO, a.DELIVERY_ADDRESS, a.ENTRY_EXIT_CUSTOMS, a.ORIGIN_DESTINATION_COUNTRY, a.CARRIER, a.CONTAINER_NO, + a.TRANSPORT_METHOD, a.SUPERVISION_METHOD, a.CUSTOMS_INSPECTION, a.NEED_CUSTOMS_DECLARATION, a.NEED_TRANSPORT, + a.WAREHOUSE_DATE, a.COMPLETION_TIME, a.ORDER_DATE