|
|
@@ -317,14 +317,33 @@ public class OrderService extends BaseService<Order> {
|
|
|
|
|
|
// 订单明细保存
|
|
|
if (orderVO.getItemList() != null && orderVO.getItemList().size() > 0) {
|
|
|
+ // 使用HashMap来存储SupName到SupId的映射
|
|
|
+ Map<String, String> supNameToSupIdMap = new HashMap<>();
|
|
|
for (OrderItemVO orderItemVO : orderVO.getItemList()) {
|
|
|
- //外协品供应上只有name 没有id 的时候 要新建供应商
|
|
|
- if (orderItemVO.getSkuId() == null) { //说明外协品
|
|
|
- if (orderItemVO.getSupId() == null) { //说明在库里不存在这个供应商
|
|
|
- Supplier supplier = supplierService.saleinsert(new SupplierVo().setSupName(orderItemVO.getSupName()).setSupType("供应商类别-外协").setCpId(authUtils.getStaff().getCpId()));
|
|
|
- orderItemVO.setSupId(supplier.getSupId());
|
|
|
+ // 如果SKU ID为空,表示外协品
|
|
|
+ if (orderItemVO.getSkuId() == null) {
|
|
|
+ // 如果SupId为空,表示在库中不存在这个供应商
|
|
|
+ if (orderItemVO.getSupId() == null) {
|
|
|
+ // 检查是否已经为这个SupName创建了供应商
|
|
|
+ String existingSupId = supNameToSupIdMap.get(orderItemVO.getSupName());
|
|
|
+ if (existingSupId == null) {
|
|
|
+ // 尚未创建,新建供应商
|
|
|
+ SupplierVo supplierVo = new SupplierVo()
|
|
|
+ .setSupName(orderItemVO.getSupName())
|
|
|
+ .setSupType("供应商类别-外协")
|
|
|
+ .setCpId(authUtils.getStaff().getCpId());
|
|
|
+ Supplier supplier = supplierService.saleinsert(supplierVo);
|
|
|
+ // 将新创建的SupId存入映射
|
|
|
+ supNameToSupIdMap.put(orderItemVO.getSupName(), supplier.getSupId());
|
|
|
+ // 设置orderItemVO的SupId
|
|
|
+ orderItemVO.setSupId(supplier.getSupId());
|
|
|
+ } else {
|
|
|
+ // 已经创建,直接设置orderItemVO的SupId
|
|
|
+ orderItemVO.setSupId(existingSupId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
OrderItem orderItem = orderItemConvert.convertToPo(orderItemVO);
|
|
|
orderItem.setOrderId(order.getOrderId()).setCpId(order.getCpId()).setOutStatus(Constant.OutStatus.DAICHUKU.getName());
|
|
|
if (orderItem.getPriceStd() == null) {
|
|
|
@@ -339,6 +358,8 @@ public class OrderService extends BaseService<Order> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**************************************** 客户收款begin ********************************/
|
|
|
if (orderVO.getReceiptList() != null && orderVO.getReceiptList().size() > 0) {
|
|
|
// 商户产品版本
|
|
|
@@ -592,14 +613,33 @@ public class OrderService extends BaseService<Order> {
|
|
|
|
|
|
// 新增的
|
|
|
List<OrderItemVO> insertOrderItemVOList = orderVO.getItemList().stream().filter(it -> it.getItemId() == null).collect(Collectors.toList());
|
|
|
+ // 使用HashMap来存储SupName到SupId的映射
|
|
|
+ Map<String, String> supNameToSupIdMap = new HashMap<>();
|
|
|
for (OrderItemVO orderItemVO : insertOrderItemVOList) {
|
|
|
- //外协品供应上只有name 没有id 的时候 要新建供应商
|
|
|
- if (orderItemVO.getSkuId() == null) { //说明外协品
|
|
|
- if (orderItemVO.getSupId() == null) { //说明在库里不存在这个供应商
|
|
|
- Supplier supplier = supplierService.saleinsert(new SupplierVo().setSupName(orderItemVO.getSupName()).setSupType("供应商类别-外协").setCpId(authUtils.getStaff().getCpId()));
|
|
|
- orderItemVO.setSupId(supplier.getSupId());
|
|
|
+ // 如果SKU ID为空,表示外协品
|
|
|
+ if (orderItemVO.getSkuId() == null) {
|
|
|
+ // 如果SupId为空,表示在库中不存在这个供应商
|
|
|
+ if (orderItemVO.getSupId() == null) {
|
|
|
+ // 检查是否已经为这个SupName创建了供应商
|
|
|
+ String existingSupId = supNameToSupIdMap.get(orderItemVO.getSupName());
|
|
|
+ if (existingSupId == null) {
|
|
|
+ // 尚未创建,新建供应商
|
|
|
+ SupplierVo supplierVo = new SupplierVo()
|
|
|
+ .setSupName(orderItemVO.getSupName())
|
|
|
+ .setSupType("供应商类别-外协")
|
|
|
+ .setCpId(authUtils.getStaff().getCpId());
|
|
|
+ Supplier supplier = supplierService.saleinsert(supplierVo);
|
|
|
+ // 将新创建的SupId存入映射
|
|
|
+ supNameToSupIdMap.put(orderItemVO.getSupName(), supplier.getSupId());
|
|
|
+ // 设置orderItemVO的SupId
|
|
|
+ orderItemVO.setSupId(supplier.getSupId());
|
|
|
+ } else {
|
|
|
+ // 已经创建,直接设置orderItemVO的SupId
|
|
|
+ orderItemVO.setSupId(existingSupId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
OrderItem orderItem = orderItemConvert.convertToPo(orderItemVO);
|
|
|
orderItem.setOrderId(order.getOrderId()).setCpId(order.getCpId()).setOutStatus(Constant.OutStatus.DAICHUKU.getName());
|
|
|
orderItem.setItemId(UUID.randomUUID().toString());
|
|
|
@@ -608,7 +648,6 @@ public class OrderService extends BaseService<Order> {
|
|
|
orderItemVO.setOrderId(orderVO.getOrderId());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 删除业绩信息
|
|
|
multiOwnerMapper.deleteByOrderId(order.getOrderId());
|
|
|
|