From 2993853135517534b95833b59dd296ff0f3c7af3 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 12 May 2025 18:08:06 +0800 Subject: [PATCH] =?UTF-8?q?##=20=E6=B7=BB=E5=8A=A0=E4=BB=93=E5=82=A8?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/SaDeliverHandledController.java | 106 ++++++++++++++++-- .../hzs/sale/deliver/vo/DeliverHandledVO.java | 7 ++ .../com/hzs/sale/deliver/vo/DeliverWmsVO.java | 78 +++++++++++++ .../sale/deliver/SaDeliverItemsMapper.xml | 2 + 4 files changed, 184 insertions(+), 9 deletions(-) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java index 9893cb55..3782d205 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/controller/manage/SaDeliverHandledController.java @@ -70,7 +70,6 @@ public class SaDeliverHandledController extends BaseController { @DubboReference IUserServiceApi iUserServiceApi; - /** * 列表 * @@ -137,7 +136,6 @@ public class SaDeliverHandledController extends BaseController { return getDataTable(resultList); } - /** * 导出 * @@ -225,6 +223,103 @@ public class SaDeliverHandledController extends BaseController { util.exportExcel(response, resultList, "发货清单已合单导出"); } + /** + * 仓储导出 + * + * @param response + * @param param + */ + @PostMapping("/wms-export") + public void wmsExport(HttpServletResponse response, DeliverHandledParam param) { + DateUtils.handTimeStartAndEnd(param.getCreationTime()); + DateUtils.handTimeStartAndEnd(param.getPayTime()); + + // 国家ID + Integer pkCountry = SecurityUtils.getPkCountry(); + + List voList = new ArrayList<>(); + + if (StringUtils.isNotEmpty(param.getBarCode())) { + // 追溯条码处理 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SaDeliverBarCode::getPkCountry, pkCountry); + queryWrapper.eq(SaDeliverBarCode::getBarCode, param.getBarCode()); + List barCodeList = iSaDeliverBarCodeService.list(queryWrapper); + if (CollectionUtil.isEmpty(barCodeList)) { + // 带有追溯码查询条件,并没有查出来追溯码,则直接返回空数据 + ExcelUtil util = new ExcelUtil<>(DeliverWmsVO.class); + util.exportExcel(response, voList, "发货清单已合单导出"); + return; + } + param.setPkDeliver(barCodeList.get(0).getPkDeliver()); + param.setPkDeliverItems(barCodeList.get(0).getPkDeliverItems()); + } + + // 获取管理员权限(角色地区范围、体系列表、团队列表) + UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData(); + param.setAreaScopeList(userAuthorityDTO.getRoleAreaScopeList()); + param.setVertexIdList(userAuthorityDTO.getVertexIdList()); + param.setTeamList(userAuthorityDTO.getUserTeamList()); + + List resultList = iSaDeliverService.queryDeliverHandledList(param, pkCountry); + + // 当查询有数据才进行处理 + if (resultList.size() > 0) { + // 获取行政区划map + Map areaMap = iAreaServiceApi.getAllAreaNoCache(pkCountry).getData(); + + String deliverCode = ""; + String recName = ""; + String recPhone = ""; + String recAddress = ""; + + DeliverWmsVO vo = null; + // 合并 key: 发货单号 + 仓储编号 + 规格,一样的累计数量 + String key = null; + for (DeliverHandledVO deliverHandled : resultList) { + if (null == key || !key.equals(deliverHandled.getDeliverCode() + "-" + deliverHandled.getWmsCode() + "-" + deliverHandled.getSpecsName())) { + // key: 发货单号 + 仓储编号 + 规格,一样的累计数量 + key = deliverHandled.getDeliverCode() + "-" + deliverHandled.getWmsCode() + "-" + deliverHandled.getSpecsName(); + + vo = DeliverWmsVO.builder() + .wmsCode(deliverHandled.getWmsCode()) + .productName(deliverHandled.getProductName()) + .specsName(deliverHandled.getSpecsName()) + .quantity(deliverHandled.getQuantity()) + .price(BigDecimal.ZERO) + .build(); + if (!deliverCode.equals(deliverHandled.getDeliverCode())) { + deliverCode = deliverHandled.getDeliverCode(); + vo.setDeliverCode(deliverHandled.getDeliverCode()); + } + if (!recName.equals(deliverHandled.getRecName())) { + recName = deliverHandled.getRecName(); + vo.setRecName(deliverHandled.getRecName()); + } + if (!recPhone.equals(deliverHandled.getRecPhone())) { + recPhone = deliverHandled.getRecPhone(); + vo.setRecPhone(deliverHandled.getRecPhone()); + } + voList.add(vo); + } else { + vo.setQuantity(vo.getQuantity() + deliverHandled.getQuantity()); + } + + // 省市区处理 + OrderUtil.handleOrderAddress(areaMap, deliverHandled); + String address = deliverHandled.getRecProvinceVal() + + (StringUtils.isNotEmpty(deliverHandled.getRecCityVal()) ? deliverHandled.getRecCityVal() : "") + + (StringUtils.isNotEmpty(deliverHandled.getRecCountyVal()) ? deliverHandled.getRecCountyVal() : "") + + deliverHandled.getRecAddress(); + if (!recAddress.equals(address)) { + recAddress = address; + vo.setRecAddress(address); + } + } + } + ExcelUtil util = new ExcelUtil<>(DeliverWmsVO.class); + util.exportExcel(response, voList, "发货清单已合单导出"); + } /** * 打印货单 @@ -399,7 +494,6 @@ public class SaDeliverHandledController extends BaseController { } } - /** * 绑定条形码数据 * @@ -453,7 +547,6 @@ public class SaDeliverHandledController extends BaseController { return AjaxResult.success(resultList); } - /** * 绑定条码 * @@ -527,7 +620,6 @@ public class SaDeliverHandledController extends BaseController { return AjaxResult.success(); } - /** * 重置条码 * @@ -548,7 +640,6 @@ public class SaDeliverHandledController extends BaseController { return AjaxResult.success(); } - /** * 解绑条形码数据 * @@ -589,7 +680,6 @@ public class SaDeliverHandledController extends BaseController { return AjaxResult.success(resultList); } - /** * 解绑条码 * @@ -608,7 +698,6 @@ public class SaDeliverHandledController extends BaseController { return AjaxResult.success(); } - /** * 删除发货单明细 * @@ -631,7 +720,6 @@ public class SaDeliverHandledController extends BaseController { return AjaxResult.success(); } - /** * 删除发货单 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java index c20beee3..0fd2d7e7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverHandledVO.java @@ -102,6 +102,13 @@ public class DeliverHandledVO { */ @Excel(name = "产品编号") private String productCode; + + /** + * 产品编号 + */ + @Excel(name = "仓储编号") + private String wmsCode; + /** * 产品名称 */ diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java new file mode 100644 index 00000000..78d7ed21 --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/deliver/vo/DeliverWmsVO.java @@ -0,0 +1,78 @@ +package com.hzs.sale.deliver.vo; + +import com.hzs.common.core.annotation.Excel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 发货单WMS导出VO + */ +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +public class DeliverWmsVO implements Serializable { + + @Excel(name = "订单号") + private String deliverCode; + + @Excel(name = "收货人姓名") + private String recName; + + @Excel(name = "手机") + private String recPhone; + + @Excel(name = "固话") + private String fixedPhone; + + @Excel(name = "地址") + private String recAddress; + + @Excel(name = "邮编") + private String postal; + + @Excel(name = "电子邮箱") + private String email; + + @Excel(name = "商品编号") + private String wmsCode; + + @Excel(name = "产品名称") + private String productName; + + @Excel(name = "规格名称") + private String specsName; + + @Excel(name = "数量") + private Integer quantity; + + @Excel(name = "单价") + private BigDecimal price; + + @Excel(name = "实付") + private BigDecimal realPay; + + @Excel(name = "配送方式") + private String delivery; + + @Excel(name = "明细备注") + private String remark; + + @Excel(name = "批次号") + private String batchNo; + + @Excel(name = "生产日期") + private String produceDate; + + @Excel(name = "过期日期") + private String expireDate; + + + + +} diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml index 9557e803..41246501 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml @@ -53,6 +53,7 @@ bp.product_code, bp.product_name, bp.shipping_channel, + bp.wms_code, sdi.SPECS_NAME, sdi.quantity, soi.order_status, @@ -237,6 +238,7 @@ bp.product_code, bp.product_name, bp.shipping_channel, + bp.wms_code, sdi.SPECS_NAME, sdi.quantity, soi.order_status,