## 添加仓储导出;

This commit is contained in:
cabbage 2025-05-12 18:08:06 +08:00
parent 9c4fe704de
commit 927f59e96d
4 changed files with 184 additions and 9 deletions

View File

@ -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<DeliverWmsVO> voList = new ArrayList<>();
if (StringUtils.isNotEmpty(param.getBarCode())) {
// 追溯条码处理
LambdaQueryWrapper<SaDeliverBarCode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SaDeliverBarCode::getPkCountry, pkCountry);
queryWrapper.eq(SaDeliverBarCode::getBarCode, param.getBarCode());
List<SaDeliverBarCode> barCodeList = iSaDeliverBarCodeService.list(queryWrapper);
if (CollectionUtil.isEmpty(barCodeList)) {
// 带有追溯码查询条件并没有查出来追溯码则直接返回空数据
ExcelUtil<DeliverWmsVO> 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<DeliverHandledVO> resultList = iSaDeliverService.queryDeliverHandledList(param, pkCountry);
// 当查询有数据才进行处理
if (resultList.size() > 0) {
// 获取行政区划map
Map<Integer, String> 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<DeliverWmsVO> 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();
}
/**
* 删除发货单
*

View File

@ -102,6 +102,13 @@ public class DeliverHandledVO {
*/
@Excel(name = "产品编号")
private String productCode;
/**
* 产品编号
*/
@Excel(name = "仓储编号")
private String wmsCode;
/**
* 产品名称
*/

View File

@ -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;
}

View File

@ -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,